fixed mem leak
[ppastats.git] / src / lp_ws.c
index 74bcde5..3905a28 100644 (file)
@@ -393,10 +393,12 @@ struct daily_download_total **get_daily_download_totals(const char *binary_url)
        key = get_ddts_list_cache_key(binary_url);
 
        content = fcache_get(key);
-       if (content)
+       if (content) {
                json = json_tokener_parse(content);
-       else
+               free(content);
+       } else {
                json = NULL;
+       }
 
        if (json) {
                cached_ddts = json_object_to_daily_download_totals(json);
@@ -426,7 +428,8 @@ struct daily_download_total **get_daily_download_totals(const char *binary_url)
        }
 
        free(key);
-       free(cached_ddts);
+       if (ddts != cached_ddts)
+               free(cached_ddts);
        free(retrieved_ddts);
 
        return ddts;