From d0f5b51a8bd49c00d88d5ad0aa62bae322cec800 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 15 Nov 2011 17:38:55 +0000
Subject: [PATCH] busybox: fix hexdump segmentation fault with an empty leading
 format unit

SVN-Revision: 29156
---
 package/busybox/Makefile                              |  4 +++-
 .../busybox/patches/700-hexdump_segfault_fix.patch    | 11 +++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 package/busybox/patches/700-hexdump_segfault_fix.patch

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;
-- 
GitLab