From: Bernd Edlinger Date: Mon, 12 Feb 2018 08:28:33 +0000 (+0100) Subject: Remove code that prints "" in hexdumps X-Git-Tag: OpenSSL_1_1_0h~78 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=751485c6522f10006ba9f6cf90d719ea190e2201;p=oweals%2Fopenssl.git 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) --- 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