summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-11-15 17:38:55 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-11-15 17:38:55 +0000
commit23bd1bd8c77ebd8ee5650b4b3bd45fae2adfc85d (patch)
tree349bb62bd9b99a0e51095bfb27d55fff958771d9
parentccd11de0ba26fb0f2f95e5936820a382c30ab43a (diff)
[package] busybox: fix hexdump segmentation fault with an empty leading format unit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29156 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/busybox/Makefile4
-rw-r--r--package/busybox/patches/700-hexdump_segfault_fix.patch11
2 files changed, 14 insertions, 1 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index 967fa75dd1..7989345466 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.19.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -72,6 +72,8 @@ ifdef CONFIG_BUSYBOX_USE_LIBRPC
LDLIBS += rpc
endif
+TARGET_CFLAGS += -ggdb3
+
define Build/Compile
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \
diff --git a/package/busybox/patches/700-hexdump_segfault_fix.patch b/package/busybox/patches/700-hexdump_segfault_fix.patch
new file mode 100644
index 0000000000..ab09fb3e42
--- /dev/null
+++ b/package/busybox/patches/700-hexdump_segfault_fix.patch
@@ -0,0 +1,11 @@
+--- a/libbb/dump.c
++++ b/libbb/dump.c
+@@ -301,7 +301,7 @@ static NOINLINE void rewrite(priv_dumper
+ ) {
+ fu->reps += (dumper->blocksize - fs->bcnt) / fu->bcnt;
+ }
+- if (fu->reps > 1) {
++ if (fu->reps > 1 && fu->nextpr) {
+ for (pr = fu->nextpr;; pr = pr->nextpr)
+ if (!pr->nextpr)
+ break;