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 | } |
