diff options
author | Rich Salz <rsalz@openssl.org> | 2017-06-14 20:34:37 -0400 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2017-07-05 11:32:35 +1000 |
commit | 0904e79a6e6109240d5a552f2699408b26cf63ee (patch) | |
tree | df0b4928a751b05779164cf7dd84265407bea332 /crypto/bio | |
parent | ff281ee8369350d88e8b57af139614f5683e1e8c (diff) |
Undo commit d420ac2
[extended tests]
Original text:
Use BUF_strlcpy() instead of strcpy().
Use BUF_strlcat() instead of strcat().
Use BIO_snprintf() instead of sprintf().
In some cases, keep better track of buffer lengths.
This is part of a large change submitted by Markus Friedl <markus@openbsd.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/3701)
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/b_dump.c | 27 | ||||
-rw-r--r-- | crypto/bio/bio_cb.c | 48 | ||||
-rw-r--r-- | crypto/bio/bss_file.c | 10 |
3 files changed, 40 insertions, 45 deletions
diff --git a/crypto/bio/b_dump.c b/crypto/bio/b_dump.c index a27954fa34..491b973369 100644 --- a/crypto/bio/b_dump.c +++ b/crypto/bio/b_dump.c @@ -54,36 +54,34 @@ int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), if ((rows * dump_width) < len) rows++; for (i = 0; i < rows; i++) { - OPENSSL_strlcpy(buf, str, sizeof buf); - BIO_snprintf(tmp, sizeof tmp, "%04x - ", i * dump_width); - OPENSSL_strlcat(buf, tmp, sizeof buf); + strcpy(buf, str); + sprintf(tmp, "%04x - ", i * dump_width); + strcat(buf, tmp); for (j = 0; j < dump_width; j++) { if (((i * dump_width) + j) >= len) { - OPENSSL_strlcat(buf, " ", sizeof buf); + strcat(buf, " "); } else { ch = ((unsigned char)*(s + i * dump_width + j)) & 0xff; - BIO_snprintf(tmp, sizeof tmp, "%02x%c", ch, - j == 7 ? '-' : ' '); - OPENSSL_strlcat(buf, tmp, sizeof buf); + sprintf(tmp, "%02x%c", ch, j == 7 ? '-' : ' '); + strcat(buf, tmp); } } - OPENSSL_strlcat(buf, " ", sizeof buf); + strcat(buf, " "); for (j = 0; j < dump_width; j++) { if (((i * dump_width) + j) >= len) break; ch = ((unsigned char)*(s + i * dump_width + j)) & 0xff; #ifndef CHARSET_EBCDIC - BIO_snprintf(tmp, sizeof tmp, "%c", - ((ch >= ' ') && (ch <= '~')) ? ch : '.'); + sprintf(tmp, "%c", ((ch >= ' ') && (ch <= '~')) ? ch : '.'); #else - BIO_snprintf(tmp, sizeof tmp, "%c", + sprintf(tmp, "%c", ((ch >= os_toascii[' ']) && (ch <= os_toascii['~'])) ? os_toebcdic[ch] : '.'); #endif - OPENSSL_strlcat(buf, tmp, sizeof buf); + strcat(buf, tmp); } - OPENSSL_strlcat(buf, "\n", sizeof buf); + strcat(buf, "\n"); /* * if this is the last call then update the ddt_dump thing so that we * will move the selection point in the debug window @@ -92,8 +90,7 @@ int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), } #ifdef TRUNCATE if (trc > 0) { - BIO_snprintf(buf, sizeof buf, "%s%04x - <SPACES/NULS>\n", str, - len + trc); + sprintf(buf, "%s%04x - <SPACES/NULS>\n", str, len + trc); ret += cb((void *)buf, strlen(buf), u); } #endif diff --git a/crypto/bio/bio_cb.c b/crypto/bio/bio_cb.c index 69ea3d067e..13368e82ee 100644 --- a/crypto/bio/bio_cb.c +++ b/crypto/bio/bio_cb.c @@ -22,69 +22,67 @@ long BIO_debug_callback(BIO *bio, int cmd, const char *argp, char *p; long r = 1; int len; - size_t p_maxlen; if (BIO_CB_RETURN & cmd) r = ret; - len = BIO_snprintf(buf, sizeof buf, "BIO[%p]: ", (void *)bio); + len = sprintf(buf, "BIO[%p]: ", (void *)bio); /* Ignore errors and continue printing the other information. */ if (len < 0) len = 0; p = buf + len; - p_maxlen = sizeof(buf) - len; switch (cmd) { case BIO_CB_FREE: - BIO_snprintf(p, p_maxlen, "Free - %s\n", bio->method->name); + sprintf(p, "Free - %s\n", bio->method->name); break; case BIO_CB_READ: if (bio->method->type & BIO_TYPE_DESCRIPTOR) - BIO_snprintf(p, p_maxlen, "read(%d,%lu) - %s fd=%d\n", - bio->num, (unsigned long)argi, - bio->method->name, bio->num); + sprintf(p, "read(%d,%lu) - %s fd=%d\n", + bio->num, (unsigned long)argi, + bio->method->name, bio->num); else - BIO_snprintf(p, p_maxlen, "read(%d,%lu) - %s\n", - bio->num, (unsigned long)argi, bio->method->name); + sprintf(p, "read(%d,%lu) - %s\n", + bio->num, (unsigned long)argi, bio->method->name); break; case BIO_CB_WRITE: if (bio->method->type & BIO_TYPE_DESCRIPTOR) - BIO_snprintf(p, p_maxlen, "write(%d,%lu) - %s fd=%d\n", - bio->num, (unsigned long)argi, - bio->method->name, bio->num); + sprintf(p, "write(%d,%lu) - %s fd=%d\n", + bio->num, (unsigned long)argi, + bio->method->name, bio->num); else - BIO_snprintf(p, p_maxlen, "write(%d,%lu) - %s\n", - bio->num, (unsigned long)argi, bio->method->name); + sprintf(p, "write(%d,%lu) - %s\n", + bio->num, (unsigned long)argi, bio->method->name); break; case BIO_CB_PUTS: - BIO_snprintf(p, p_maxlen, "puts() - %s\n", bio->method->name); + sprintf(p, "puts() - %s\n", bio->method->name); break; case BIO_CB_GETS: - BIO_snprintf(p, p_maxlen, "gets(%lu) - %s\n", (unsigned long)argi, - bio->method->name); + sprintf(p, "gets(%lu) - %s\n", (unsigned long)argi, + bio->method->name); break; case BIO_CB_CTRL: - BIO_snprintf(p, p_maxlen, "ctrl(%lu) - %s\n", (unsigned long)argi, - bio->method->name); + sprintf(p, "ctrl(%lu) - %s\n", (unsigned long)argi, + bio->method->name); break; case BIO_CB_RETURN | BIO_CB_READ: - BIO_snprintf(p, p_maxlen, "read return %ld\n", ret); + sprintf(p, "read return %ld\n", ret); break; case BIO_CB_RETURN | BIO_CB_WRITE: - BIO_snprintf(p, p_maxlen, "write return %ld\n", ret); + sprintf(p, "write return %ld\n", ret); break; case BIO_CB_RETURN | BIO_CB_GETS: - BIO_snprintf(p, p_maxlen, "gets return %ld\n", ret); + sprintf(p, "gets return %ld\n", ret); break; case BIO_CB_RETURN | BIO_CB_PUTS: - BIO_snprintf(p, p_maxlen, "puts return %ld\n", ret); + sprintf(p, "puts return %ld\n", ret); break; case BIO_CB_RETURN | BIO_CB_CTRL: - BIO_snprintf(p, p_maxlen, "ctrl return %ld\n", ret); + sprintf(p, "ctrl return %ld\n", ret); break; default: - BIO_snprintf(p, p_maxlen, "bio callback - unknown type (%d)\n", cmd); + sprintf(p, "bio callback - unknown type (%d)\n", cmd); break; } diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index ae9867e037..49d8f09bc5 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -271,15 +271,15 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) b->shutdown = (int)num & BIO_CLOSE; if (num & BIO_FP_APPEND) { if (num & BIO_FP_READ) - OPENSSL_strlcpy(p, "a+", sizeof p); + strcpy(p, "a+"); else - OPENSSL_strlcpy(p, "a", sizeof p); + strcpy(p, "a"); } else if ((num & BIO_FP_READ) && (num & BIO_FP_WRITE)) - OPENSSL_strlcpy(p, "r+", sizeof p); + strcpy(p, "r+"); else if (num & BIO_FP_WRITE) - OPENSSL_strlcpy(p, "w", sizeof p); + strcpy(p, "w"); else if (num & BIO_FP_READ) - OPENSSL_strlcpy(p, "r", sizeof p); + strcpy(p, "r"); else { BIOerr(BIO_F_FILE_CTRL, BIO_R_BAD_FOPEN_MODE); ret = 0; |