diff options
Diffstat (limited to 'other')
-rw-r--r-- | other/bootstrap_daemon/tox-bootstrapd.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/other/bootstrap_daemon/tox-bootstrapd.c b/other/bootstrap_daemon/tox-bootstrapd.c index 7e78da4e..1b69014c 100644 --- a/other/bootstrap_daemon/tox-bootstrapd.c +++ b/other/bootstrap_daemon/tox-bootstrapd.c | |||
@@ -161,7 +161,12 @@ void parse_tcp_relay_ports_config(config_t *cfg, uint16_t **tcp_relay_ports, int | |||
161 | } | 161 | } |
162 | 162 | ||
163 | // the loop above skips invalid ports, so we adjust the allocated memory size | 163 | // the loop above skips invalid ports, so we adjust the allocated memory size |
164 | *tcp_relay_ports = realloc(*tcp_relay_ports, (*tcp_relay_port_count) * sizeof(uint16_t)); | 164 | if ((*tcp_relay_port_count) > 0) { |
165 | *tcp_relay_ports = realloc(*tcp_relay_ports, (*tcp_relay_port_count) * sizeof(uint16_t)); | ||
166 | } else { | ||
167 | free(*tcp_relay_port); | ||
168 | *tcp_relay_port = NULL; | ||
169 | } | ||
165 | 170 | ||
166 | return; | 171 | return; |
167 | } | 172 | } |
@@ -210,8 +215,11 @@ void parse_tcp_relay_ports_config(config_t *cfg, uint16_t **tcp_relay_ports, int | |||
210 | } | 215 | } |
211 | 216 | ||
212 | // the loop above skips invalid ports, so we adjust the allocated memory size | 217 | // the loop above skips invalid ports, so we adjust the allocated memory size |
213 | if ((*tcp_relay_port_count) * sizeof(uint16_t) > 0) { | 218 | if ((*tcp_relay_port_count) > 0) { |
214 | *tcp_relay_ports = realloc(*tcp_relay_ports, (*tcp_relay_port_count) * sizeof(uint16_t)); | 219 | *tcp_relay_ports = realloc(*tcp_relay_ports, (*tcp_relay_port_count) * sizeof(uint16_t)); |
220 | } else { | ||
221 | free(*tcp_relay_port); | ||
222 | *tcp_relay_port = NULL; | ||
215 | } | 223 | } |
216 | } | 224 | } |
217 | 225 | ||