From: Eugene Syromiatnikov Date: Tue, 5 Aug 2025 13:21:32 +0000 (+0200) Subject: crypto/bio/bio_print.c: '-' flag has priority over '0' X-Git-Tag: openssl-3.6.0-alpha1~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95af148e14862bb982530f090e5e04e5b977bac1;p=thirdparty%2Fopenssl.git crypto/bio/bio_print.c: '-' flag has priority over '0' Per [1]: If the '0' and '-' flags both appear, the '0' flag is ignored. [1] https://pubs.opengroup.org/onlinepubs/9799919799//functions/printf.html Signed-off-by: Eugene Syromiatnikov Reviewed-by: Saša Nedvědický Reviewed-by: Neil Horman (Merged from https://github.com/openssl/openssl/pull/28177) --- diff --git a/crypto/bio/bio_print.c b/crypto/bio/bio_print.c index 7600c366833..6f67a870b65 100644 --- a/crypto/bio/bio_print.c +++ b/crypto/bio/bio_print.c @@ -506,12 +506,12 @@ fmtint(char **sbuffer, zpadlen = 0; if (spadlen < 0) spadlen = 0; - if (flags & DP_F_ZERO) { + if (flags & DP_F_MINUS) { + spadlen = -spadlen; + } else if (flags & DP_F_ZERO) { zpadlen = OSSL_MAX(zpadlen, spadlen); spadlen = 0; } - if (flags & DP_F_MINUS) - spadlen = -spadlen; /* spaces */ while (spadlen > 0) {