Author: sthibault
Date: 2011-02-22 00:52:51 +0000 (Tue, 22 Feb 2011)
New Revision: 4527

Added:
   glibc-package/trunk/debian/patches/hurd-i386/submitted-if_freereq.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
patches/hurd-i386/submitted-if_freereq.diff: Fix crash when siocgifconf 
actually succeeds.


Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2011-02-21 02:40:46 UTC (rev 
4526)
+++ glibc-package/trunk/debian/changelog        2011-02-22 00:52:51 UTC (rev 
4527)
@@ -7,6 +7,8 @@
   * patches/any/submitted-sched_h.diff: Synchronize bits/sched.h with
     sysdeps/unix/sysv/linux/bits/sched.h (Closes: #527589), rename to
     cvs-sched_h.diff.
+  * patches/hurd-i386/submitted-if_freereq.diff: Fix crash when siocgifconf
+    actually succeeds.
 
   [ Clint Adams ]
   * Patch from Nobuhiro Iwamatsu to cope with the removal of

Added: glibc-package/trunk/debian/patches/hurd-i386/submitted-if_freereq.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/submitted-if_freereq.diff      
                        (rev 0)
+++ glibc-package/trunk/debian/patches/hurd-i386/submitted-if_freereq.diff      
2011-02-22 00:52:51 UTC (rev 4527)
@@ -0,0 +1,61 @@
+2011-02-22  Samuel Thibault  <samuel.thiba...@ens-lyon.org>
+
+        Fix __if_freereq crash: Unlike the generic version which uses free, 
Hurd
+        needs munmap.
+
+       * sysdeps/mach/hurd/ifreq.h: New file.
+
+---
+ ifreq.h |   45 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+diff --git a/sysdeps/mach/hurd/ifreq.h b/sysdeps/mach/hurd/ifreq.h
+new file mode 100644
+index 0000000..99a6b94
+--- /dev/null
++++ b/sysdeps/mach/hurd/ifreq.h
+@@ -0,0 +1,45 @@
++/* Copyright (C) 1999, 2002, 2003, 2011 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Andreas Jaeger <a...@suse.de>.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <net/if.h>
++#include <sys/socket.h>
++#include <sys/ioctl.h>
++#include <sys/mman.h>
++
++static inline struct ifreq *
++__if_nextreq (struct ifreq *ifr)
++{
++#ifdef _HAVE_SA_LEN
++  if (ifr->ifr_addr.sa_len > sizeof ifr->ifr_addr)
++    return (struct ifreq *) ((char *) &ifr->ifr_addr + ifr->ifr_addr.sa_len);
++#endif
++  return ifr + 1;
++}
++
++extern void __ifreq (struct ifreq **ifreqs, int *num_ifs, int sockfd);
++
++
++static inline void
++__if_freereq (struct ifreq *ifreqs, int num_ifs)
++{
++  munmap (ifreqs, num_ifs * sizeof (struct ifreq));
++}

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series   2011-02-21 02:40:46 UTC (rev 
4526)
+++ glibc-package/trunk/debian/patches/series   2011-02-22 00:52:51 UTC (rev 
4527)
@@ -137,6 +137,7 @@
 hurd-i386/submitted-catch-signal.diff
 hurd-i386/cvs-sendmsg-leak.diff
 hurd-i386/local-sendmsg-SCM_RIGHTS.diff
+hurd-i386/submitted-if_freereq.diff
 
 ia64/local-dlfptr.diff
 ia64/submitted-sysconf.diff


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1prgul-0001li...@alioth.debian.org

Reply via email to