* libmisc/find_new_gid.c, libmisc/find_new_uid.c,

libmisc/isexpired.c, src/groupadd.c, lib/pwauth.h, lib/groupmem.c,
	lib/shadowmem.c, lib/pwmem.c, lib/prototypes.h: Added splint
	annotations.
This commit is contained in:
nekral-guest 2009-04-23 17:43:27 +00:00
parent 956d68c870
commit 7f165aab7f
10 changed files with 45 additions and 25 deletions

View File

@ -1,3 +1,10 @@
2009-04-22 Nicolas François <nicolas.francois@centraliens.net>
* libmisc/find_new_gid.c, libmisc/find_new_uid.c,
libmisc/isexpired.c, src/groupadd.c, lib/pwauth.h, lib/groupmem.c,
lib/shadowmem.c, lib/pwmem.c, lib/prototypes.h: Added splint
annotations.
2009-04-22 Nicolas François <nicolas.francois@centraliens.net> 2009-04-22 Nicolas François <nicolas.francois@centraliens.net>
* libmisc/loginprompt.c: Use exit(EXIT_FAILURE) instead of * libmisc/loginprompt.c: Use exit(EXIT_FAILURE) instead of

View File

@ -3,7 +3,7 @@
* Copyright (c) 1996 - 2000, Marek Michałkiewicz * Copyright (c) 1996 - 2000, Marek Michałkiewicz
* Copyright (c) 2001 , Michał Moskal * Copyright (c) 2001 , Michał Moskal
* Copyright (c) 2005 , Tomasz Kłoczko * Copyright (c) 2005 , Tomasz Kłoczko
* Copyright (c) 2007 , Nicolas François * Copyright (c) 2007 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -39,7 +39,7 @@
#include "defines.h" #include "defines.h"
#include "groupio.h" #include "groupio.h"
struct group *__gr_dup (const struct group *grent) /*@null@*/ /*@only@*/struct group *__gr_dup (const struct group *grent)
{ {
struct group *gr; struct group *gr;
int i; int i;
@ -75,7 +75,7 @@ struct group *__gr_dup (const struct group *grent)
return gr; return gr;
} }
void gr_free (struct group *grent) void gr_free (/*@out@*/ /*@only@*/struct group *grent)
{ {
free (grent->gr_name); free (grent->gr_name);
memzero (grent->gr_passwd, strlen (grent->gr_passwd)); memzero (grent->gr_passwd, strlen (grent->gr_passwd));

View File

@ -66,8 +66,9 @@ extern int add_groups (const char *);
/* age.c */ /* age.c */
extern void agecheck (/*@null@*/const struct spwd *); extern void agecheck (/*@null@*/const struct spwd *);
extern int expire (const struct passwd *, const struct spwd *); extern int expire (const struct passwd *, /*@null@*/const struct spwd *);
extern int isexpired (const struct passwd *, const struct spwd *); /* isexpired.c */
extern int isexpired (const struct passwd *, /*@null@*/const struct spwd *);
/* basename() renamed to Basename() to avoid libc name space confusion */ /* basename() renamed to Basename() to avoid libc name space confusion */
/* basename.c */ /* basename.c */
@ -129,7 +130,7 @@ extern char *pw_encrypt (const char *, const char *);
extern void pw_entry (const char *, struct passwd *); extern void pw_entry (const char *, struct passwd *);
/* env.c */ /* env.c */
extern void addenv (const char *, const char *); extern void addenv (const char *, /*@null@*/const char *);
extern void initenv (void); extern void initenv (void);
extern void set_env (int, char *const *); extern void set_env (int, char *const *);
extern void sanitize_env (void); extern void sanitize_env (void);
@ -139,10 +140,14 @@ extern void change_field (char *, size_t, const char *);
extern int valid_field (const char *, const char *); extern int valid_field (const char *, const char *);
/* find_new_gid.c */ /* find_new_gid.c */
extern int find_new_gid (bool sys_group, gid_t *gid, gid_t const *preferred_gid); extern int find_new_gid (bool sys_group,
gid_t *gid,
/*@null@*/gid_t const *preferred_gid);
/* find_new_uid.c */ /* find_new_uid.c */
extern int find_new_uid (bool sys_user, uid_t *uid, uid_t const *preferred_uid); extern int find_new_uid (bool sys_user,
uid_t *uid,
/*@null@*/uid_t const *preferred_uid);
/* get_gid.c */ /* get_gid.c */
extern int get_gid (const char *gidstr, gid_t *gid); extern int get_gid (const char *gidstr, gid_t *gid);

View File

@ -2,6 +2,7 @@
* Copyright (c) 1992 - 1993, Julianne Frances Haugh * Copyright (c) 1992 - 1993, Julianne Frances Haugh
* Copyright (c) 1996 - 1997, Marek Michałkiewicz * Copyright (c) 1996 - 1997, Marek Michałkiewicz
* Copyright (c) 2003 - 2005, Tomasz Kłoczko * Copyright (c) 2003 - 2005, Tomasz Kłoczko
* Copyright (c) 2009 , Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -34,7 +35,10 @@
*/ */
#ifndef USE_PAM #ifndef USE_PAM
int pw_auth (const char *cipher, const char *user, int flag, const char *input); int pw_auth (const char *cipher,
const char *user,
int flag,
/*@null@*/const char *input);
#endif /* !USE_PAM */ #endif /* !USE_PAM */
/* /*

View File

@ -3,7 +3,7 @@
* Copyright (c) 1996 - 2000, Marek Michałkiewicz * Copyright (c) 1996 - 2000, Marek Michałkiewicz
* Copyright (c) 2001 , Michał Moskal * Copyright (c) 2001 , Michał Moskal
* Copyright (c) 2003 - 2005, Tomasz Kłoczko * Copyright (c) 2003 - 2005, Tomasz Kłoczko
* Copyright (c) 2007 , Nicolas François * Copyright (c) 2007 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -40,7 +40,7 @@
#include "prototypes.h" #include "prototypes.h"
#include "pwio.h" #include "pwio.h"
struct passwd *__pw_dup (const struct passwd *pwent) /*@null@*/ /*@only@*/struct passwd *__pw_dup (const struct passwd *pwent)
{ {
struct passwd *pw; struct passwd *pw;
@ -73,7 +73,7 @@ struct passwd *__pw_dup (const struct passwd *pwent)
return pw; return pw;
} }
void pw_free (struct passwd *pwent) void pw_free (/*@out@*/ /*@only@*/struct passwd *pwent)
{ {
free (pwent->pw_name); free (pwent->pw_name);
memzero (pwent->pw_passwd, strlen (pwent->pw_passwd)); memzero (pwent->pw_passwd, strlen (pwent->pw_passwd));

View File

@ -3,7 +3,7 @@
* Copyright (c) 1996 - 2000, Marek Michałkiewicz * Copyright (c) 1996 - 2000, Marek Michałkiewicz
* Copyright (c) 2001 , Michał Moskal * Copyright (c) 2001 , Michał Moskal
* Copyright (c) 2005 , Tomasz Kłoczko * Copyright (c) 2005 , Tomasz Kłoczko
* Copyright (c) 2007 - 2008, Nicolas François * Copyright (c) 2007 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -41,7 +41,7 @@
#include <stdio.h> #include <stdio.h>
#include "shadowio.h" #include "shadowio.h"
struct spwd *__spw_dup (const struct spwd *spent) /*@null@*/ /*@only@*/struct spwd *__spw_dup (const struct spwd *spent)
{ {
struct spwd *sp; struct spwd *sp;
@ -62,7 +62,7 @@ struct spwd *__spw_dup (const struct spwd *spent)
return sp; return sp;
} }
void spw_free (struct spwd *spent) void spw_free (/*@out@*/ /*@only@*/struct spwd *spent)
{ {
free (spent->sp_namp); free (spent->sp_namp);
memzero (spent->sp_pwdp, strlen (spent->sp_pwdp)); memzero (spent->sp_pwdp, strlen (spent->sp_pwdp));

View File

@ -1,6 +1,6 @@
/* /*
* Copyright (c) 1991 - 1994, Julianne Frances Haugh * Copyright (c) 1991 - 1994, Julianne Frances Haugh
* Copyright (c) 2008 , Nicolas François * Copyright (c) 2008 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -47,7 +47,9 @@
* *
* Return 0 on success, -1 if no unused GIDs are available. * Return 0 on success, -1 if no unused GIDs are available.
*/ */
int find_new_gid (bool sys_group, gid_t *gid, gid_t const *preferred_gid) int find_new_gid (bool sys_group,
gid_t *gid,
/*@null@*/gid_t const *preferred_gid)
{ {
const struct group *grp; const struct group *grp;
gid_t gid_min, gid_max, group_id; gid_t gid_min, gid_max, group_id;

View File

@ -1,6 +1,6 @@
/* /*
* Copyright (c) 1991 - 1994, Julianne Frances Haugh * Copyright (c) 1991 - 1994, Julianne Frances Haugh
* Copyright (c) 2008 , Nicolas François * Copyright (c) 2008 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -47,7 +47,9 @@
* *
* Return 0 on success, -1 if no unused UIDs are available. * Return 0 on success, -1 if no unused UIDs are available.
*/ */
int find_new_uid (bool sys_user, uid_t *uid, uid_t const *preferred_uid) int find_new_uid (bool sys_user,
uid_t *uid,
/*@null@*/uid_t const *preferred_uid)
{ {
const struct passwd *pwd; const struct passwd *pwd;
uid_t uid_min, uid_max, user_id; uid_t uid_min, uid_max, user_id;

View File

@ -2,7 +2,7 @@
* Copyright (c) 1989 - 1994, Julianne Frances Haugh * Copyright (c) 1989 - 1994, Julianne Frances Haugh
* Copyright (c) 1996 - 1997, Marek Michałkiewicz * Copyright (c) 1996 - 1997, Marek Michałkiewicz
* Copyright (c) 2001 - 2005, Tomasz Kłoczko * Copyright (c) 2001 - 2005, Tomasz Kłoczko
* Copyright (c) 2008 , Nicolas François * Copyright (c) 2008 - 2009, Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -59,7 +59,7 @@
* now disabled. (password cannot be changed) * now disabled. (password cannot be changed)
* 3: The account has expired * 3: The account has expired
*/ */
int isexpired (const struct passwd *pw, const struct spwd *sp) int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp)
{ {
long now; long now;

View File

@ -72,10 +72,10 @@
*/ */
char *Prog; char *Prog;
static char *group_name; static /*@null@*/char *group_name;
static gid_t group_id; static gid_t group_id;
static char *group_passwd; static /*@null@*/char *group_passwd;
static char *empty_list = NULL; static /*@null@*/char *empty_list = NULL;
static bool oflg = false; /* permit non-unique group ID to be specified with -g */ static bool oflg = false; /* permit non-unique group ID to be specified with -g */
static bool gflg = false; /* ID value for the new group */ static bool gflg = false; /* ID value for the new group */
@ -605,6 +605,6 @@ int main (int argc, char **argv)
nscd_flush_cache ("group"); nscd_flush_cache ("group");
exit (E_SUCCESS); exit (E_SUCCESS);
/* NOT REACHED */ /*@notreached@*/
} }