* 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:
parent
956d68c870
commit
7f165aab7f
@ -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
|
||||||
|
@ -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));
|
||||||
|
@ -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);
|
||||||
|
@ -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 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -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));
|
||||||
|
@ -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));
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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@*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user