From 77abb07ea9954be3f7b280c67766c6df32a6ef3c Mon Sep 17 00:00:00 2001 From: ianmdlvl Date: Wed, 9 Jul 2003 18:10:17 +0000 Subject: [PATCH] * really: uidonly option doesn't crash. * really: -DREALLY_CHECK_GID compiles. --- cprogs/really.c | 13 +++++++++++-- debian/changelog | 7 +++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cprogs/really.c b/cprogs/really.c index cce7946..f4cfa08 100644 --- a/cprogs/really.c +++ b/cprogs/really.c @@ -48,6 +48,15 @@ static const char *opt_user, *opt_useronly; static int opt_groupsclear= 0, opt_ngids= 0, opt_uidonly= -1; static int opt_gids[512]; +static void af_uidonly(const struct cmdinfo *cip, const char *value) { + unsigned long ul; + char *ep; + + ul= strtoul(value,&ep,10); + if (*ep) { fprintf(stderr,"bad uid `%s'\n",value); exit(-1); } + opt_uidonly= ul; +} + static void af_group(const struct cmdinfo *cip, const char *value) { struct group *gr; @@ -76,7 +85,7 @@ static void af_help(const struct cmdinfo *cip, const char *value) { static const struct cmdinfo cmdinfos[]= { { "user", 'u', 1, 0, &opt_user, 0, }, { "useronly", 'i', 1, 0, &opt_useronly, 0 }, - { "uidonly", 'I', 1, &opt_uidonly, 0, 0 }, + { "uidonly", 'I', 1, 0, 0, af_uidonly }, { "groupsclear", 'z', 0, &opt_groupsclear, 0, 0, 1 }, { "group", 'g', 1, 0, 0, af_group }, { "gid", 'G', 1, 0, 0, af_gid }, @@ -94,7 +103,7 @@ static void checkroot(void) { #ifdef REALLY_CHECK_GID static void checkroot(void) { gid_t groups[512]; - int r; + int r, i; r= getgid(); if (r==REALLY_CHECK_GID) return; if (r<0) { perror("getgid check"); exit(-1); } diff --git a/debian/changelog b/debian/changelog index f5dc6c3..5f43619 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +chiark-utils (3.99.1.0.9) unstable; urgency=low + + * really: uidonly option doesn't crash. + * really: -DREALLY_CHECK_GID compiles. + + -- Ian Jackson Wed, 9 Jul 2003 19:09:48 +0100 + chiark-utils (3.99.1.0.8) unstable; urgency=low * Update to a sensible standards-version -- 2.30.2