fixed memleak
authorJean-Philippe Orsini <jeanfi@gmail.com>
Sat, 22 Feb 2014 11:00:34 +0000 (11:00 +0000)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Sat, 22 Feb 2014 11:00:34 +0000 (11:00 +0000)
src/lp_json.c

index 76a97d6..8b025f7 100644 (file)
@@ -51,13 +51,17 @@ static time_t json_to_time(json_object *json)
 static json_object *time_to_json(time_t t)
 {
        char *str;
+       json_object *j;
 
        str = time_to_ISO8601_time(&t);
 
-       if (str)
-               return json_object_new_string(str);
-       else
+       if (str) {
+               j = json_object_new_string(str);
+               free(str);
+               return j;
+       } else {
                return NULL;
+       }
 }
 
 static struct bpph *json_to_bpph(json_object *o)
@@ -103,7 +107,7 @@ static struct bpph *json_to_bpph(json_object *o)
 
 static json_object *bpph_to_json(struct bpph *bpph)
 {
-       json_object *json;
+       json_object *json, *time;
 
        json = json_object_new_object();
 
@@ -133,8 +137,9 @@ static json_object *bpph_to_json(struct bpph *bpph)
        json_object_object_add
                (json, "status", json_object_new_string(bpph->status));
 
+       time = time_to_json(bpph->date_created);
        json_object_object_add
-               (json, "date_created", time_to_json(bpph->date_created));
+               (json, "date_created", time);
 
        return json;
 }