Fix some compilation warnings:

* src/login.c: "dereferencing type-punned pointer will break
   strict-aliasing rules", add a variable indirection: ptr_pam_user.
 * lib/commonio.c: do not initialize the sb stat structure.
 * lib/pwio.c, lib/shadowio.c, lib/sgroupio.c, lib/groupio.c:
   initialize the security context if WITH_SELINUX.
 * lib/nscd.c: The service argument is not const (used in the exec*
   parameters). This matches with the prototype definition.
 * src/groupmems.c: Avoid ++i when i is also used in the same line.
 * src/newusers.c: i is positive every time it is compared. Add
   cast to unsigned int.
 * src/nologin.c: Use a main() prototype with no arguments.
 * libmisc/getdate.y: Initialize the type and value fields of the
   terminating entry for each TABLE.
 * libmisc/tz.c: Use "TZ=CST6CDT" as the default timezone.
This commit is contained in:
nekral-guest 2007-11-19 20:25:36 +00:00
parent d16cc1ea89
commit 39e5c0a1ab
13 changed files with 49 additions and 17 deletions

View File

@ -1,3 +1,21 @@
2007-11-19 Nicolas François <nicolas.francois@centraliens.net>
Fix some compilation warnings:
* src/login.c: "dereferencing type-punned pointer will break
strict-aliasing rules", add a variable indirection: ptr_pam_user.
* lib/commonio.c: do not initialize the sb stat structure.
* lib/pwio.c, lib/shadowio.c, lib/sgroupio.c, lib/groupio.c:
initialize the security context if WITH_SELINUX.
* lib/nscd.c: The service argument is not const (used in the exec*
parameters). This matches with the prototype definition.
* src/groupmems.c: Avoid ++i when i is also used in the same line.
* src/newusers.c: i is positive every time it is compared. Add
cast to unsigned int.
* src/nologin.c: Use a main() prototype with no arguments.
* libmisc/getdate.y: Initialize the type and value fields of the
terminating entry for each TABLE.
* libmisc/tz.c: Use "TZ=CST6CDT" as the default timezone.
2007-11-19 Nicolas François <nicolas.francois@centraliens.net> 2007-11-19 Nicolas François <nicolas.francois@centraliens.net>
* man/pl/Makefile.am: Add getspnam.3 to EXTRA_DIST since it is * man/pl/Makefile.am: Add getspnam.3 to EXTRA_DIST since it is

View File

@ -53,7 +53,7 @@ int lrename (const char *old, const char *new)
int res; int res;
#if defined(S_ISLNK) #if defined(S_ISLNK)
struct stat sb = { 0 }; struct stat sb;
if (lstat (new, &sb) == 0 && S_ISLNK (sb.st_mode)) { if (lstat (new, &sb) == 0 && S_ISLNK (sb.st_mode)) {
if (realpath (new, resolved_path) == NULL) { if (realpath (new, resolved_path) == NULL) {
perror ("realpath in lrename()"); perror ("realpath in lrename()");

View File

@ -63,6 +63,9 @@ static struct commonio_db group_db = {
GROUP_FILE, /* filename */ GROUP_FILE, /* filename */
&group_ops, /* ops */ &group_ops, /* ops */
NULL, /* fp */ NULL, /* fp */
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif
NULL, /* head */ NULL, /* head */
NULL, /* tail */ NULL, /* tail */
NULL, /* cursor */ NULL, /* cursor */

View File

@ -16,7 +16,7 @@
/* /*
* nscd_flush_cache - flush specified service buffer in nscd cache * nscd_flush_cache - flush specified service buffer in nscd cache
*/ */
int nscd_flush_cache (const char *service) int nscd_flush_cache (char *service)
{ {
pid_t pid, termpid; pid_t pid, termpid;
int err, status; int err, status;

View File

@ -64,6 +64,9 @@ static struct commonio_db passwd_db = {
PASSWD_FILE, /* filename */ PASSWD_FILE, /* filename */
&passwd_ops, /* ops */ &passwd_ops, /* ops */
NULL, /* fp */ NULL, /* fp */
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif
NULL, /* head */ NULL, /* head */
NULL, /* tail */ NULL, /* tail */
NULL, /* cursor */ NULL, /* cursor */

View File

@ -107,6 +107,9 @@ static struct commonio_db gshadow_db = {
SGROUP_FILE, /* filename */ SGROUP_FILE, /* filename */
&gshadow_ops, /* ops */ &gshadow_ops, /* ops */
NULL, /* fp */ NULL, /* fp */
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif
NULL, /* head */ NULL, /* head */
NULL, /* tail */ NULL, /* tail */
NULL, /* cursor */ NULL, /* cursor */

View File

@ -61,6 +61,9 @@ static struct commonio_db shadow_db = {
SHADOW_FILE, /* filename */ SHADOW_FILE, /* filename */
&shadow_ops, /* ops */ &shadow_ops, /* ops */
NULL, /* fp */ NULL, /* fp */
#ifdef WITH_SELINUX
NULL, /* scontext */
#endif
NULL, /* head */ NULL, /* head */
NULL, /* tail */ NULL, /* tail */
NULL, /* cursor */ NULL, /* cursor */

View File

@ -464,7 +464,7 @@ static TABLE const MonthDayTable[] = {
{ "thurs", tDAY, 4 }, { "thurs", tDAY, 4 },
{ "friday", tDAY, 5 }, { "friday", tDAY, 5 },
{ "saturday", tDAY, 6 }, { "saturday", tDAY, 6 },
{ NULL } { NULL, 0, 0 }
}; };
/* Time units table. */ /* Time units table. */
@ -479,7 +479,7 @@ static TABLE const UnitsTable[] = {
{ "min", tMINUTE_UNIT, 1 }, { "min", tMINUTE_UNIT, 1 },
{ "second", tSEC_UNIT, 1 }, { "second", tSEC_UNIT, 1 },
{ "sec", tSEC_UNIT, 1 }, { "sec", tSEC_UNIT, 1 },
{ NULL } { NULL, 0, 0 }
}; };
/* Assorted relative-time words. */ /* Assorted relative-time words. */
@ -504,7 +504,7 @@ static TABLE const OtherTable[] = {
{ "eleventh", tUNUMBER, 11 }, { "eleventh", tUNUMBER, 11 },
{ "twelfth", tUNUMBER, 12 }, { "twelfth", tUNUMBER, 12 },
{ "ago", tAGO, 1 }, { "ago", tAGO, 1 },
{ NULL } { NULL, 0, 0 }
}; };
/* The timezone table. */ /* The timezone table. */
@ -559,7 +559,7 @@ static TABLE const TimezoneTable[] = {
{ "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */ { "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */
{ "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */ { "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */
{ "idle", tZONE, -HOUR (12) }, /* International Date Line East */ { "idle", tZONE, -HOUR (12) }, /* International Date Line East */
{ NULL } { NULL, 0, 0 }
}; };
/* Military timezone table. */ /* Military timezone table. */
@ -589,7 +589,7 @@ static TABLE const MilitaryTable[] = {
{ "x", tZONE, HOUR (-11) }, { "x", tZONE, HOUR (-11) },
{ "y", tZONE, HOUR (-12) }, { "y", tZONE, HOUR (-12) },
{ "z", tZONE, HOUR ( 0) }, { "z", tZONE, HOUR ( 0) },
{ NULL } { NULL, 0, 0 }
}; };

View File

@ -45,7 +45,7 @@ char *tz (const char *fname)
{ {
FILE *fp = 0; FILE *fp = 0;
static char tzbuf[BUFSIZ]; static char tzbuf[BUFSIZ];
const char *def_tz; const char *def_tz = "TZ=CST6CDT";
if ((fp = fopen (fname, "r")) == NULL || if ((fp = fopen (fname, "r")) == NULL ||
fgets (tzbuf, sizeof (tzbuf), fp) == NULL) { fgets (tzbuf, sizeof (tzbuf), fp) == NULL) {

View File

@ -126,7 +126,8 @@ static void rmfromgroup (char *user, char **members)
} }
while (found && NULL != members[i]) { while (found && NULL != members[i]) {
members[i] = members[++i]; members[i] = members[i+1];
i++;
} }
if (!found) { if (!found) {

View File

@ -348,6 +348,7 @@ int main (int argc, char **argv)
int retcode; int retcode;
pid_t child; pid_t child;
char *pam_user; char *pam_user;
char **ptr_pam_user = &pam_user;
#else #else
struct spwd *spwd = NULL; struct spwd *spwd = NULL;
#endif #endif
@ -620,7 +621,7 @@ int main (int argc, char **argv)
/* if we didn't get a user on the command line, /* if we didn't get a user on the command line,
set it to NULL */ set it to NULL */
pam_get_item (pamh, PAM_USER, pam_get_item (pamh, PAM_USER,
(const void **) &pam_user); (const void **)ptr_pam_user);
if (pam_user[0] == '\0') if (pam_user[0] == '\0')
pam_set_item (pamh, PAM_USER, NULL); pam_set_item (pamh, PAM_USER, NULL);
@ -644,7 +645,7 @@ int main (int argc, char **argv)
retcode = pam_authenticate (pamh, 0); retcode = pam_authenticate (pamh, 0);
pam_get_item (pamh, PAM_USER, pam_get_item (pamh, PAM_USER,
(const void **) &pam_user); (const void **) ptr_pam_user);
if (pam_user && pam_user[0]) { if (pam_user && pam_user[0]) {
pwd = xgetpwnam(pam_user); pwd = xgetpwnam(pam_user);
@ -737,7 +738,7 @@ int main (int argc, char **argv)
First get the username that we are actually using, though. First get the username that we are actually using, though.
*/ */
retcode = retcode =
pam_get_item (pamh, PAM_USER, (const void **) &pam_user); pam_get_item (pamh, PAM_USER, (const void **)ptr_pam_user);
setpwent (); setpwent ();
pwd = xgetpwnam (pam_user); pwd = xgetpwnam (pam_user);
if (!pwd) { if (!pwd) {

View File

@ -116,11 +116,11 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
if (gid[0] == '\0') { if (gid[0] == '\0') {
i = 100; i = 100;
for (pw_rewind (); (pwd = pw_next ());) { for (pw_rewind (); (pwd = pw_next ());) {
if (pwd->pw_uid >= i) if (pwd->pw_uid >= (unsigned int)i)
i = pwd->pw_uid + 1; i = pwd->pw_uid + 1;
} }
for (gr_rewind (); (grp = gr_next ());) { for (gr_rewind (); (grp = gr_next ());) {
if (grp->gr_gid == i) { if (grp->gr_gid == (unsigned int)i) {
i = -1; i = -1;
break; break;
} }
@ -133,7 +133,7 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
*/ */
i = atoi (gid); i = atoi (gid);
for (gr_rewind (); (grp = gr_next ());) for (gr_rewind (); (grp = gr_next ());)
if (grp->gr_gid == i) if (grp->gr_gid == (unsigned int)i)
goto add_member; goto add_member;
} else } else
/* /*
@ -149,7 +149,7 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
*/ */
if (i == -1) { if (i == -1) {
for (i = 100, gr_rewind (); (grp = gr_next ());) for (i = 100, gr_rewind (); (grp = gr_next ());)
if (grp->gr_gid >= i) if (grp->gr_gid >= (unsigned int)i)
i = grp->gr_gid + 1; i = grp->gr_gid + 1;
} }

View File

@ -30,7 +30,7 @@
#include <unistd.h> #include <unistd.h>
#include "exitcodes.h" #include "exitcodes.h"
int main (int argc, char **argv) int main ()
{ {
const char *user, *tty; const char *user, *tty;