From 751485c6522f10006ba9f6cf90d719ea190e2201 Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Mon, 12 Feb 2018 09:28:33 +0100 Subject: [PATCH] Remove code that prints "" in hexdumps when the data block ends with SPACEs or NULs. The problem is, you can't see if the data ends with SPACE or NUL or a combination of both. This can happen for instance with openssl rsautl -decrypt -hexdump Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/5332) --- crypto/bio/b_dump.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/crypto/bio/b_dump.c b/crypto/bio/b_dump.c index c8601cb2b8..0bbe17ea35 100644 --- a/crypto/bio/b_dump.c +++ b/crypto/bio/b_dump.c @@ -14,7 +14,6 @@ #include #include "bio_lcl.h" -#define TRUNCATE #define DUMP_WIDTH 16 #define DUMP_WIDTH_LESS_INDENT(i) (DUMP_WIDTH-((i-(i>6?6:i)+3)/4)) @@ -29,17 +28,10 @@ int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), { int ret = 0; char buf[288 + 1], tmp[20], str[128 + 1]; - int i, j, rows, trc; + int i, j, rows; unsigned char ch; int dump_width; - trc = 0; - -#ifdef TRUNCATE - for (; (len > 0) && ((s[len - 1] == ' ') || (s[len - 1] == '\0')); len--) - trc++; -#endif - if (indent < 0) indent = 0; if (indent) { @@ -90,14 +82,7 @@ int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), */ ret += cb((void *)buf, strlen(buf), u); } -#ifdef TRUNCATE - if (trc > 0) { - BIO_snprintf(buf, sizeof(buf), "%s%04x - \n", str, - len + trc); - ret += cb((void *)buf, strlen(buf), u); - } -#endif - return (ret); + return ret; } #ifndef OPENSSL_NO_STDIO -- 2.34.1