summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2014-05-30 13:00:39 +0000
committerbeck <>2014-05-30 13:00:39 +0000
commit7388822d9393b64a9eb25e34c9bac56fb7f39f15 (patch)
treec0b984107665092ebf79c08328e8a721cf9830c5 /src
parentfa03bdcd17251bec54215a778d2e211e7517a8d7 (diff)
downloadopenbsd-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.c17
-rw-r--r--src/lib/libssl/src/crypto/bio/bss_conn.c17
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;