gpe-conf: Add patch to fix segfault in 0.1.30.
authorFlorian Boor <florian.boor@kernelconcepts.de>
Mon, 20 Feb 2006 21:23:34 +0000 (21:23 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Mon, 20 Feb 2006 21:23:34 +0000 (21:23 +0000)
packages/gpe-conf/files/fixsegfault.patch [new file with mode: 0644]
packages/gpe-conf/gpe-conf_0.1.30.bb

diff --git a/packages/gpe-conf/files/fixsegfault.patch b/packages/gpe-conf/files/fixsegfault.patch
new file mode 100644 (file)
index 0000000..7f1ccbe
--- /dev/null
@@ -0,0 +1,44 @@
+Index: network.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/network.c,v
+retrieving revision 1.55.2.2
+retrieving revision 1.55.2.3
+diff -u -r1.55.2.2 -r1.55.2.3
+--- network.c  16 Feb 2006 22:32:30 -0000      1.55.2.2
++++ network.c  20 Feb 2006 01:34:44 -0000      1.55.2.3
+@@ -289,19 +289,23 @@
+                       i = iflen-1;
+                       
+                       fd = fopen(_PATH_PROCNET_WIRELESS, "r");
+-                      fgets(buffer, 256, fd);         // chuck first two lines;
+-                      fgets(buffer, 256, fd);
+-                      while (!feof(fd)) {
+-                              if (fgets(buffer, 256, fd) == NULL)
+-                                      break;
+-                              name = buffer;
+-                              sep = strrchr(buffer, ':');
+-                              if (sep) *sep = 0;
+-                              while(*name == ' ') name++;
+-                              if (!strcmp(name, ifname))
+-                                      iflist[iflen - 1].iswireless = TRUE;
+-                      }
++                      if (fd != NULL)
++                      {
++                              fgets(buffer, 256, fd);         // chuck first two lines;
++                              fgets(buffer, 256, fd);
++                              while (!feof(fd)) 
++                              {
++                                      if (fgets(buffer, 256, fd) == NULL)
++                                              break;
++                                      name = buffer;
++                                      sep = strrchr(buffer, ':');
++                                      if (sep) *sep = 0;
++                                      while(*name == ' ') name++;
++                                      if (!strcmp(name, ifname))
++                                              iflist[iflen - 1].iswireless = TRUE;
++                              }
+                       fclose(fd);
++                      }
+               }
+               else
+                       i = existing;
index 8eb1360..c0ee7e2 100644 (file)
@@ -3,9 +3,11 @@ LICENSE  = "GPL"
 SECTION  = "gpe"
 PRIORITY = "optional"
 MAINTAINER = "Florian Boor <florian.boor@kernelconcepts.de>"
+PR="r1"
 
 inherit gpe
-PR="r0"
+
+SRC_URI += " file://fixsegfault.patch;patch=1;pnum=0"
 
 DEPENDS = "gtk+ libgpewidget libxsettings libxsettings-client pcmcia-cs xst xset ipaq-sleep ntp gpe-login gpe-icons"
 RDEPENDS_${PN} = "xst xset ipaq-sleep ntpdate gpe-login gpe-icons"
@@ -23,5 +25,3 @@ do_compile () {
 do_install () {
         oe_runmake MACHINE=${MACHINE} PREFIX=${prefix} DESTDIR=${D} install-program
 }
-
-