diff --git a/ChangeLog b/ChangeLog index 67470141..03d374b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,7 @@ * lib/tcbfuncs.c: Removed dead return. * lib/tcbfuncs.c: move_dir() and shadowtcb_move() need a non NULL stored_tcb_user. + * lib/tcbfuncs.c: Avoid implicit int to mode_t conversion. 2010-03-17 Nicolas François diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c index 5d1082de..852845aa 100644 --- a/lib/tcbfuncs.c +++ b/lib/tcbfuncs.c @@ -502,7 +502,7 @@ shadowtcb_status shadowtcb_create(const char *name, uid_t uid) fprintf(stderr, _("%s: Cannot change owner of %s: %s\n"), Prog, shadow, strerror(errno)); goto out_free; } - if (chmod(shadow, authgid == shadowgid ? 0600 : 0640) != 0) { + if (chmod(shadow, (mode_t) ((authgid == shadowgid) ? 0600 : 0640)) != 0) { fprintf(stderr, _("%s: Cannot change mode of %s: %s\n"), Prog, shadow, strerror(errno)); goto out_free; } @@ -510,7 +510,7 @@ shadowtcb_status shadowtcb_create(const char *name, uid_t uid) fprintf(stderr, _("%s: Cannot change owner of %s: %s\n"), Prog, dir, strerror(errno)); goto out_free; } - if (chmod(dir, authgid == shadowgid ? 02700 : 02710) != 0) { + if (chmod(dir, (mode_t) ((authgid == shadowgid) ? 02700 : 02710)) != 0) { fprintf(stderr, _("%s: Cannot change mode of %s: %s\n"), Prog, dir, strerror(errno)); goto out_free; }