Code

[PATCH] possible memory leak in diff.c::diff_free_filepair()
authorYasushi SHOJI <yashi@atmark-techno.com>
Sun, 21 Aug 2005 07:14:16 +0000 (16:14 +0900)
committerJunio C Hamano <junkio@cox.net>
Sun, 21 Aug 2005 10:48:33 +0000 (03:48 -0700)
Here is a patch to fix the problem in the simplest way.

diff.c

diff --git a/diff.c b/diff.c
index bb2a43b5b0725a5ef1896fcdd62e4d3e3ceccc04..137d0d0c0c3eaaaa1c3c874c6e5f719e00a0d396 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -1010,9 +1010,8 @@ void diff_flush(int diff_output_style, int line_termination)
                        diff_flush_name(p, line_termination);
                        break;
                }
-       }
-       for (i = 0; i < q->nr; i++)
                diff_free_filepair(q->queue[i]);
+       }
        free(q->queue);
        q->queue = NULL;
        q->nr = q->alloc = 0;