Package: dbus-1 Version: 0.23.2-3 Severity: minor Tags: patch Because of an annoying minor spelling mistake in a couple of #define lines, dbus uses the plain getpwnam rather than the re-entrant getpwnam_r. The attached patch fixes this.
-- System Information: Debian Release: 3.0 APT prefers testing APT policy: (103, 'testing'), (102, 'unstable'), (101, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.10-1-686-smp Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages dbus-1 depends on: ii adduser 3.62 Add and remove users and groups ii debianutils 2.8.4 Miscellaneous utilities specific t ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libexpat1 1.95.8-1 XML parsing C library - runtime li -- no debconf information
diff -ur dbus-0.23.2/dbus/dbus-sysdeps.c dbus-0.23.2.old/dbus/dbus-sysdeps.c --- dbus-0.23.2/dbus/dbus-sysdeps.c Wed Jan 12 00:07:52 2005 +++ dbus-0.23.2.old/dbus/dbus-sysdeps.c Tue Mar 1 03:25:02 2005 @@ -1422,7 +1422,7 @@ * checks */ -#if defined (HAVE_POSIX_GETPWNAME_R) || defined (HAVE_NONPOSIX_GETPWNAME_R) +#if defined (HAVE_POSIX_GETPWNAM_R) || defined (HAVE_NONPOSIX_GETPWNAM_R) { struct passwd *p; int result; @@ -1430,8 +1430,8 @@ struct passwd p_str; p = NULL; -#ifdef HAVE_POSIX_GETPWNAME_R - if (uid >= 0) +#ifdef HAVE_POSIX_GETPWNAM_R + if (uid != DBUS_UID_UNSET) result = getpwuid_r (uid, &p_str, buf, sizeof (buf), &p); else @@ -1443,7 +1443,7 @@ else p = getpwnam_r (username_c, &p_str, buf, sizeof (buf)); result = 0; -#endif /* !HAVE_POSIX_GETPWNAME_R */ +#endif /* !HAVE_POSIX_GETPWNAM_R */ if (result == 0 && p == &p_str) { if (!fill_user_info_from_passwd (p, info, error)) @@ -1658,7 +1658,7 @@ * to add more configure checks. */ -#if defined (HAVE_POSIX_GETPWNAME_R) || defined (HAVE_NONPOSIX_GETPWNAME_R) +#if defined (HAVE_POSIX_GETPWNAM_R) || defined (HAVE_NONPOSIX_GETPWNAM_R) { struct group *g; int result; @@ -1666,7 +1666,7 @@ struct group g_str; g = NULL; -#ifdef HAVE_POSIX_GETPWNAME_R +#ifdef HAVE_POSIX_GETPWNAM_R if (group_c_str) result = getgrnam_r (group_c_str, &g_str, buf, sizeof (buf), @@ -1677,7 +1677,7 @@ #else p = getgrnam_r (group_c_str, &g_str, buf, sizeof (buf)); result = 0; -#endif /* !HAVE_POSIX_GETPWNAME_R */ +#endif /* !HAVE_POSIX_GETPWNAM_R */ if (result == 0 && g == &g_str) { return fill_user_info_from_group (g, info, error);