Better handling of getpwnam and getgrnam for dhcp-forwarde
authorFlorian Fainelli <florian@openwrt.org>
Tue, 10 Jan 2006 06:37:43 +0000 (06:37 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 10 Jan 2006 06:37:43 +0000 (06:37 +0000)
SVN-Revision: 2868

openwrt/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch [new file with mode: 0644]

diff --git a/openwrt/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch b/openwrt/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch
new file mode 100644 (file)
index 0000000..ef84913
--- /dev/null
@@ -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;
+ }