Jiri Moskovcak 60afc81
commit f737cd88eef6c8cde03b3a317cd5ef390f0138e4
Jiri Moskovcak 60afc81
Author: Jakub Filak <jfilak@redhat.com>
Jiri Moskovcak 60afc81
Date:   Wed Apr 18 15:09:02 2012 +0200
Jiri Moskovcak 60afc81
Jiri Moskovcak 60afc81
    trac#480 : fixed memory leak in is_comment_dup() function
Jiri Moskovcak 60afc81
    
Jiri Moskovcak 60afc81
    Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jiri Moskovcak 60afc81
Jiri Moskovcak 60afc81
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
index a3aa2ef..2e7d62c 100644
Jiri Moskovcak 60afc81
--- a/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
+++ b/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
@@ -88,20 +88,19 @@ static char *trim_all_whitespace(const char *str)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 int is_comment_dup(GList *comments, const char *comment)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
-    for (GList *l = comments; l; l = l->next)
Jiri Moskovcak 60afc81
+    char * const trim_comment = trim_all_whitespace(comment);
Jiri Moskovcak 60afc81
+    bool same_comments = false;
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
+    for (GList *l = comments; l && !same_comments; l = l->next)
Jiri Moskovcak 60afc81
     {
Jiri Moskovcak 60afc81
-        char *comment_body = (char *) l->data;
Jiri Moskovcak 60afc81
-        char *trim_comment_body = trim_all_whitespace(comment_body);
Jiri Moskovcak 60afc81
-        char *trim_comment = trim_all_whitespace(comment);
Jiri Moskovcak 60afc81
-        if (!strcmp(trim_comment_body, trim_comment))
Jiri Moskovcak 60afc81
-        {
Jiri Moskovcak 60afc81
-            free(trim_comment_body);
Jiri Moskovcak 60afc81
-            free(trim_comment);
Jiri Moskovcak 60afc81
-            return 1;
Jiri Moskovcak 60afc81
-        }
Jiri Moskovcak 60afc81
+        const char * const comment_body = (const char *) l->data;
Jiri Moskovcak 60afc81
+        char * const trim_comment_body = trim_all_whitespace(comment_body);
Jiri Moskovcak 60afc81
+        same_comments = !strcmp(trim_comment_body, trim_comment);
Jiri Moskovcak 60afc81
+        free(trim_comment_body);
Jiri Moskovcak 60afc81
     }
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
-    return 0;;
Jiri Moskovcak 60afc81
+    free(trim_comment);
Jiri Moskovcak 60afc81
+    return same_comments;
Jiri Moskovcak 60afc81
 }
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 static unsigned find_best_bt_rating_in_comments(GList *comments)