patch 9.0.2066: xxd: corrupting files when reversing bit dumps
Problem: xxd: corrupting files when reversing bit dumps
Solution: handle reversing bit dump slightly differently
fixes: #13410
closes: #13415
Co-authored-by: OldWorldOrdr <joey.t.reinhart@gmail.com>
Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: tristhaus <tristhaus@yahoo.de>
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index 544aa50..94a0e61 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -136,7 +136,7 @@
# endif
#endif
-char version[] = "xxd 2023-10-08 by Juergen Weigert et al.";
+char version[] = "xxd 2023-10-24 by Juergen Weigert et al.";
#ifdef WIN32
char osver[] = " (Win32)";
#else
@@ -418,19 +418,13 @@
}
else /* HEX_BITS */
{
- n1 = parse_hex_digit(c);
- if (n1 >= 0)
- {
- want_off = (want_off << 4) | n1;
- }
-
- if (bt < 0)
- {
- p = 0;
+ if (n1 < 0)
+ {
+ p = 0;
bcnt = 0;
- b = 0;
- continue;
- }
+ continue;
+ }
+ want_off = (want_off << 4) | n1;
}
continue;
}