Skip to content

Commit

Permalink
busybox: Fix hexdump applet
Browse files Browse the repository at this point in the history
Fix the hexdump applet's formatting with certain format types
by applying the upstream fix for 1.37.0.

Also refresh patches.

Signed-off-by: Hannu Nyman <[email protected]>
Link: openwrt#17308
[Changed to 002- patch file name prefix]
Signed-off-by: Hauke Mehrtens <[email protected]>
  • Loading branch information
hnyman authored and hauke committed Dec 20, 2024
1 parent efe9fb0 commit 69582e7
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 5 deletions.
2 changes: 1 addition & 1 deletion package/utils/busybox/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk

PKG_NAME:=busybox
PKG_VERSION:=1.37.0
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_FLAGS:=essential

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
Expand Down
6 changes: 2 additions & 4 deletions package/utils/busybox/patches/001-fix-non-x86-build.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
Index: busybox-1.37.0/libbb/hash_md5_sha.c
===================================================================
--- busybox-1.37.0.orig/libbb/hash_md5_sha.c
+++ busybox-1.37.0/libbb/hash_md5_sha.c
--- a/libbb/hash_md5_sha.c
+++ b/libbb/hash_md5_sha.c
@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t *
hash_size = 8;
if (ctx->process_block == sha1_process_block64
Expand Down
49 changes: 49 additions & 0 deletions package/utils/busybox/patches/002-upstream-fix-hexdump.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
From 87e60dcf0f7ef917b73353d8605188a420bd91f9 Mon Sep 17 00:00:00 2001
From: Natanael Copa <[email protected]>
Date: Mon, 28 Oct 2024 15:26:21 +0100
Subject: hexdump: fix regression with -n4 -e '"%u"'

Fix bug introduced in busybox 1.37.0 that broke kernel builds.

Fixes commit e2287f99fe6f (od: for !DESKTOP, match output more closely
to GNU coreutils 9.1, implement -s)

function old new delta
rewrite 967 976 +9

Signed-off-by: Natanael Copa <[email protected]>
Signed-off-by: Denys Vlasenko <[email protected]>
---
libbb/dump.c | 6 ++++--
testsuite/hexdump.tests | 6 ++++++
2 files changed, 10 insertions(+), 2 deletions(-)

--- a/libbb/dump.c
+++ b/libbb/dump.c
@@ -198,9 +198,11 @@ static NOINLINE void rewrite(priv_dumper
if (!e)
goto DO_BAD_CONV_CHAR;
pr->flags = F_INT;
- if (e > int_convs + 1) /* not d or i? */
- pr->flags = F_UINT;
byte_count_str = "\010\004\002\001";
+ if (e > int_convs + 1) { /* not d or i? */
+ pr->flags = F_UINT;
+ byte_count_str++;
+ }
goto DO_BYTE_COUNT;
} else
if (strchr(int_convs, *p1)) { /* %d etc */
--- a/testsuite/hexdump.tests
+++ b/testsuite/hexdump.tests
@@ -82,4 +82,10 @@ testing "hexdump -e /2 %d" \
"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\
"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\

+testing "hexdump -n4 -e '\"%u\"'" \
+ "hexdump -n4 -e '\"%u\"'" \
+ "12345678" \
+ "" \
+ "\x4e\x61\xbc\x00AAAA"
+
exit $FAILCOUNT

0 comments on commit 69582e7

Please sign in to comment.