Better handling of getpwnam and getgrnam for dhcp-forwarde

SVN-Revision: 2868
This commit is contained in:
Florian Fainelli 2006-01-10 06:37:43 +00:00
parent 85fafa6910
commit 67ee15962b

View file

@ -0,0 +1,35 @@
diff -pur dhcp-forwarder-0.7-orig/src/wrappers.h dhcp-forwarder-0.7-patched/src/wrappers.h
--- dhcp-forwarder-0.7-orig/src/wrappers.h 2004-06-22 12:46:56.000000000 +0200
+++ dhcp-forwarder-0.7-patched/src/wrappers.h 2005-12-27 12:28:10.464289435 +0100
@@ -65,7 +65,14 @@ Egetgrnam(char const *name)
/*@*/
{
/*@observer@*/struct group const *res = getgrnam(name);
- FatalErrnoError(res==0, 1, "getgrnam()");
+
+ FatalErrnoError((res == NULL) && (errno != 0), 1, "getgrnam()");
+
+ if (res == NULL)
+ {
+ fprintf (stderr, "No such group: `%s'\n", name);
+ exit (1);
+ }
/*@-freshtrans@*/
/*@-mustfreefresh@*/
@@ -80,7 +87,14 @@ Egetpwnam(char const *name)
/*@*/
{
struct passwd const *res = getpwnam(name);
- FatalErrnoError(res==0, 1, "getpwnam()");
+
+ FatalErrnoError((res == NULL) && (errno != 0), 1, "getpwnam()");
+
+ if (res == NULL)
+ {
+ fprintf (stderr, "No such user: `%s'\n", name);
+ exit (1);
+ }
return res;
}