diff options
Diffstat (limited to 'src/lib/libcrypto/bio/bss_conn.c')
-rw-r--r-- | src/lib/libcrypto/bio/bss_conn.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/lib/libcrypto/bio/bss_conn.c b/src/lib/libcrypto/bio/bss_conn.c index 7ed8f1fe31..a31e5a170b 100644 --- a/src/lib/libcrypto/bio/bss_conn.c +++ b/src/lib/libcrypto/bio/bss_conn.c | |||
@@ -147,8 +147,7 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
147 | *q = '\0'; | 147 | *q = '\0'; |
148 | break; | 148 | break; |
149 | } | 149 | } |
150 | if (c->param_port != NULL) | 150 | free(c->param_port); |
151 | free(c->param_port); | ||
152 | c->param_port = BUF_strdup(p); | 151 | c->param_port = BUF_strdup(p); |
153 | } | 152 | } |
154 | } | 153 | } |
@@ -315,10 +314,8 @@ BIO_CONNECT_free(BIO_CONNECT *a) | |||
315 | if (a == NULL) | 314 | if (a == NULL) |
316 | return; | 315 | return; |
317 | 316 | ||
318 | if (a->param_hostname != NULL) | 317 | free(a->param_hostname); |
319 | free(a->param_hostname); | 318 | free(a->param_port); |
320 | if (a->param_port != NULL) | ||
321 | free(a->param_port); | ||
322 | free(a); | 319 | free(a); |
323 | } | 320 | } |
324 | 321 | ||
@@ -469,12 +466,10 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
469 | if (ptr != NULL) { | 466 | if (ptr != NULL) { |
470 | b->init = 1; | 467 | b->init = 1; |
471 | if (num == 0) { | 468 | if (num == 0) { |
472 | if (data->param_hostname != NULL) | 469 | free(data->param_hostname); |
473 | free(data->param_hostname); | ||
474 | data->param_hostname = BUF_strdup(ptr); | 470 | data->param_hostname = BUF_strdup(ptr); |
475 | } else if (num == 1) { | 471 | } else if (num == 1) { |
476 | if (data->param_port != NULL) | 472 | free(data->param_port); |
477 | free(data->param_port); | ||
478 | data->param_port = BUF_strdup(ptr); | 473 | data->param_port = BUF_strdup(ptr); |
479 | } else if (num == 2) { | 474 | } else if (num == 2) { |
480 | char buf[16]; | 475 | char buf[16]; |
@@ -482,8 +477,7 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
482 | 477 | ||
483 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", | 478 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", |
484 | p[0], p[1], p[2], p[3]); | 479 | p[0], p[1], p[2], p[3]); |
485 | if (data->param_hostname != NULL) | 480 | free(data->param_hostname); |
486 | free(data->param_hostname); | ||
487 | data->param_hostname = BUF_strdup(buf); | 481 | data->param_hostname = BUF_strdup(buf); |
488 | memcpy(&(data->ip[0]), ptr, 4); | 482 | memcpy(&(data->ip[0]), ptr, 4); |
489 | } else if (num == 3) { | 483 | } else if (num == 3) { |
@@ -491,8 +485,7 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
491 | 485 | ||
492 | snprintf(buf, sizeof buf, "%d", | 486 | snprintf(buf, sizeof buf, "%d", |
493 | *(int *)ptr); | 487 | *(int *)ptr); |
494 | if (data->param_port != NULL) | 488 | free(data->param_port); |
495 | free(data->param_port); | ||
496 | data->param_port = BUF_strdup(buf); | 489 | data->param_port = BUF_strdup(buf); |
497 | data->port= *(int *)ptr; | 490 | data->port= *(int *)ptr; |
498 | } | 491 | } |