[runtime] Fix a memory leak in the dwarf writer.
authorZoltan Varga <vargaz@gmail.com>
Mon, 15 Jun 2015 20:04:04 +0000 (16:04 -0400)
committerZoltan Varga <vargaz@gmail.com>
Mon, 15 Jun 2015 20:04:04 +0000 (16:04 -0400)
mono/mini/dwarfwriter.c

index 78871e2ab53e14acb1d99f7d39b1c131aa512cb8..06ac6e77b3800ad28a40726a6f911f63dc6a739b 100644 (file)
@@ -1645,8 +1645,12 @@ emit_line_number_info (MonoDwarfWriter *w, MonoMethod *method,
                prev_il_offset = il_offset;
 
                loc = mono_debug_symfile_lookup_location (minfo, il_offset);
-               if (!(loc && loc->source_file))
+               if (!loc)
                        continue;
+               if (!loc->source_file) {
+                       mono_debug_symfile_free_location (loc);
+                       continue;
+               }
 
                line_diff = (gint32)loc->row - (gint32)prev_line;
                addr_diff = i - prev_native_offset;