# DIY Linux Patch Date: 2007-11-08 Author: Greg Schafer <gschafer@zip.com.au> Origin: Modelled on the same upstream fix for usermod. Maker: Greg Schafer <gschafer@zip.com.au> Upstream Status: Submitted, applied. Description: Fix -g problems in useradd. diff -Naur shadow-4.0.18.2.orig/src/useradd.c shadow-4.0.18.2/src/useradd.c --- shadow-4.0.18.2.orig/src/useradd.c 2007-10-07 14:36:51.000000000 +0000 +++ shadow-4.0.18.2/src/useradd.c 2007-11-08 06:33:32.433004367 +0000 @@ -204,12 +204,8 @@ char *errptr; gid = strtol (grname, &errptr, 10); - if (*errptr || errno == ERANGE || gid < 0) { - fprintf (stderr, - _("%s: invalid numeric argument '%s'\n"), Prog, - grname); - exit (E_BAD_ARG); - } + if (*grname != '\0' && *errptr == '\0' && errno != ERANGE && gid >= 0) + return getgrgid (gid); return getgrnam (grname); }