diff options
author | beck <> | 2014-05-30 13:00:39 +0000 |
---|---|---|
committer | beck <> | 2014-05-30 13:00:39 +0000 |
commit | 7388822d9393b64a9eb25e34c9bac56fb7f39f15 (patch) | |
tree | c0b984107665092ebf79c08328e8a721cf9830c5 /src | |
parent | fa03bdcd17251bec54215a778d2e211e7517a8d7 (diff) | |
download | openbsd-7388822d9393b64a9eb25e34c9bac56fb7f39f15.tar.gz openbsd-7388822d9393b64a9eb25e34c9bac56fb7f39f15.tar.bz2 openbsd-7388822d9393b64a9eb25e34c9bac56fb7f39f15.zip |
Fix some more nasty stringyness in here by using asprintf instead of cruft.
gets rid of the second last use of the awful DECIMAL_SIZE.
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/bio/bss_conn.c | 17 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/bio/bss_conn.c | 17 |
2 files changed, 14 insertions, 20 deletions
diff --git a/src/lib/libcrypto/bio/bss_conn.c b/src/lib/libcrypto/bio/bss_conn.c index a31e5a170b..3175b94112 100644 --- a/src/lib/libcrypto/bio/bss_conn.c +++ b/src/lib/libcrypto/bio/bss_conn.c | |||
@@ -472,22 +472,19 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
472 | free(data->param_port); | 472 | free(data->param_port); |
473 | data->param_port = BUF_strdup(ptr); | 473 | data->param_port = BUF_strdup(ptr); |
474 | } else if (num == 2) { | 474 | } else if (num == 2) { |
475 | char buf[16]; | ||
476 | unsigned char *p = ptr; | 475 | unsigned char *p = ptr; |
477 | |||
478 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", | ||
479 | p[0], p[1], p[2], p[3]); | ||
480 | free(data->param_hostname); | 476 | free(data->param_hostname); |
481 | data->param_hostname = BUF_strdup(buf); | 477 | if (asprintf(&data->param_hostname, |
478 | "%u.%u.%u.%u", p[0], p[1], | ||
479 | p[2], p[3]) == -1) | ||
480 | data->param_hostname = NULL; | ||
482 | memcpy(&(data->ip[0]), ptr, 4); | 481 | memcpy(&(data->ip[0]), ptr, 4); |
483 | } else if (num == 3) { | 482 | } else if (num == 3) { |
484 | char buf[DECIMAL_SIZE(int) + 1]; | ||
485 | |||
486 | snprintf(buf, sizeof buf, "%d", | ||
487 | *(int *)ptr); | ||
488 | free(data->param_port); | 483 | free(data->param_port); |
489 | data->param_port = BUF_strdup(buf); | ||
490 | data->port= *(int *)ptr; | 484 | data->port= *(int *)ptr; |
485 | if (asprintf(&data->param_port, "%d", | ||
486 | data->port) == -1) | ||
487 | data->param_port = NULL; | ||
491 | } | 488 | } |
492 | } | 489 | } |
493 | break; | 490 | break; |
diff --git a/src/lib/libssl/src/crypto/bio/bss_conn.c b/src/lib/libssl/src/crypto/bio/bss_conn.c index a31e5a170b..3175b94112 100644 --- a/src/lib/libssl/src/crypto/bio/bss_conn.c +++ b/src/lib/libssl/src/crypto/bio/bss_conn.c | |||
@@ -472,22 +472,19 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
472 | free(data->param_port); | 472 | free(data->param_port); |
473 | data->param_port = BUF_strdup(ptr); | 473 | data->param_port = BUF_strdup(ptr); |
474 | } else if (num == 2) { | 474 | } else if (num == 2) { |
475 | char buf[16]; | ||
476 | unsigned char *p = ptr; | 475 | unsigned char *p = ptr; |
477 | |||
478 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", | ||
479 | p[0], p[1], p[2], p[3]); | ||
480 | free(data->param_hostname); | 476 | free(data->param_hostname); |
481 | data->param_hostname = BUF_strdup(buf); | 477 | if (asprintf(&data->param_hostname, |
478 | "%u.%u.%u.%u", p[0], p[1], | ||
479 | p[2], p[3]) == -1) | ||
480 | data->param_hostname = NULL; | ||
482 | memcpy(&(data->ip[0]), ptr, 4); | 481 | memcpy(&(data->ip[0]), ptr, 4); |
483 | } else if (num == 3) { | 482 | } else if (num == 3) { |
484 | char buf[DECIMAL_SIZE(int) + 1]; | ||
485 | |||
486 | snprintf(buf, sizeof buf, "%d", | ||
487 | *(int *)ptr); | ||
488 | free(data->param_port); | 483 | free(data->param_port); |
489 | data->param_port = BUF_strdup(buf); | ||
490 | data->port= *(int *)ptr; | 484 | data->port= *(int *)ptr; |
485 | if (asprintf(&data->param_port, "%d", | ||
486 | data->port) == -1) | ||
487 | data->param_port = NULL; | ||
491 | } | 488 | } |
492 | } | 489 | } |
493 | break; | 490 | break; |