From 0ddcf656ddc08890ebccd5d21384c387b4d243e4 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 10 Jan 2006 06:37:43 +0000 Subject: Better handling of getpwnam and getgrnam for dhcp-forwarde git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2868 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/01-getpwnmam_getgrnam.patch | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch diff --git a/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch b/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch new file mode 100644 index 000000000..ef8491330 --- /dev/null +++ b/package/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch @@ -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; + } -- cgit v1.2.3