fix memory leak introduced by last commit
Costa Tsaousis (ktsaou) committed
Jan 26, 2017 at 23:25 UTC
afc739d9b43a3e5a9201dc6155a52eaac9816209
1 file changed
+10
-8
src/health.c
+10
-8
@@ -251,34 +251,34 @@ static inline ssize_t health_alarm_log_read(RRDHOST *host, FILE *fp, const char
251
ae->exec_run_timestamp = (uint32_t)strtoul(pointers[11], NULL, 16);
252
ae->delay_up_to_timestamp = (uint32_t)strtoul(pointers[12], NULL, 16);
253
254
- if(unlikely(ae->name)) freez(ae->name);
254
+ freez(ae->name);
255
ae->name = strdupz(pointers[13]);
256
ae->hash_name = simple_hash(ae->name);
257
258
- if(unlikely(ae->chart)) freez(ae->chart);
258
+ freez(ae->chart);
259
ae->chart = strdupz(pointers[14]);
260
ae->hash_chart = simple_hash(ae->chart);
261
262
- if(unlikely(ae->family)) freez(ae->family);
262
+ freez(ae->family);
263
ae->family = strdupz(pointers[15]);
264
265
- if(unlikely(ae->exec)) freez(ae->exec);
265
+ freez(ae->exec);
266
ae->exec = strdupz(pointers[16]);
267
if(!*ae->exec) { freez(ae->exec); ae->exec = NULL; }
268
269
- if(unlikely(ae->recipient)) freez(ae->recipient);
269
+ freez(ae->recipient);
270
ae->recipient = strdupz(pointers[17]);
271
if(!*ae->recipient) { freez(ae->recipient); ae->recipient = NULL; }
272
273
- if(unlikely(ae->source)) freez(ae->source);
273
+ freez(ae->source);
274
ae->source = strdupz(pointers[18]);
275
if(!*ae->source) { freez(ae->source); ae->source = NULL; }
276
277
- if(unlikely(ae->units)) freez(ae->units);
277
+ freez(ae->units);
278
ae->units = strdupz(pointers[19]);
279
if(!*ae->units) { freez(ae->units); ae->units = NULL; }
280
281
- if(unlikely(ae->info)) freez(ae->info);
281
+ freez(ae->info);
282
ae->info = strdupz(pointers[20]);
283
if(!*ae->info) { freez(ae->info); ae->info = NULL; }
284
@@ -291,6 +291,8 @@ static inline ssize_t health_alarm_log_read(RRDHOST *host, FILE *fp, const char
291
ae->old_value = str2l(pointers[26]);
292
293
static char value_string[100 + 1];
294
+ freez(ae->old_value_string);
295
+ freez(ae->new_value_string);
296
ae->old_value_string = strdupz(format_value_and_unit(value_string, 100, ae->old_value, ae->units, -1));
297
ae->new_value_string = strdupz(format_value_and_unit(value_string, 100, ae->new_value, ae->units, -1));
298