fix awk segfault
authorFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jun 2007 21:50:04 +0000 (21:50 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jun 2007 21:50:04 +0000 (21:50 +0000)
SVN-Revision: 7640

package/busybox/patches/400-revert_awk_getopt.patch

index d9c7cfb..33c6790 100644 (file)
@@ -1,7 +1,7 @@
 Index: busybox-1.4.2/editors/awk.c
 ===================================================================
---- busybox-1.4.2.orig/editors/awk.c   2007-06-04 13:21:32.083099296 +0200
-+++ busybox-1.4.2/editors/awk.c        2007-06-04 13:21:35.202625056 +0200
+--- busybox-1.4.2.orig/editors/awk.c   2007-06-15 23:43:26.460690280 +0200
++++ busybox-1.4.2/editors/awk.c        2007-06-15 23:45:26.283474448 +0200
 @@ -2639,14 +2639,13 @@
  
  int awk_main(int argc, char **argv)
@@ -18,7 +18,7 @@ Index: busybox-1.4.2/editors/awk.c
  
        /* Undo busybox.c, or else strtod may eat ','! This breaks parsing:
         * $1,$2 == '$1,' '$2', NOT '$1' ',' '$2' */
-@@ -2694,40 +2693,54 @@
+@@ -2694,40 +2693,56 @@
                free(s);
        }
  
@@ -83,13 +83,13 @@ Index: busybox-1.4.2/editors/awk.c
 -              parse_program(s + 1);
 -              free(s);
 -      } else { // no -f: take program from 1st parameter
--              if (!argc)
--                      bb_show_usage();
 +      }
 +      argc -= optind;
 +      argv += optind;
 +
 +      if (!programname) {
+               if (!argc)
+                       bb_show_usage();
                programname = "cmd. line";
                parse_program(*argv++);
                argc--;