[svn:parrot] r48700 - trunk/src

chromatic at svn.parrot.org chromatic at svn.parrot.org
Sat Aug 28 02:14:37 UTC 2010


Author: chromatic
Date: Sat Aug 28 02:14:36 2010
New Revision: 48700
URL: https://trac.parrot.org/parrot/changeset/48700

Log:
[PBC] Fixed a memory leak in PackFile op mapping.

Modified:
   trunk/src/packfile.c

Modified: trunk/src/packfile.c
==============================================================================
--- trunk/src/packfile.c	Sat Aug 28 00:22:35 2010	(r48699)
+++ trunk/src/packfile.c	Sat Aug 28 02:14:36 2010	(r48700)
@@ -2632,8 +2632,17 @@
         mem_gc_free(interp, byte_code->op_func_table);
     if (byte_code->op_info_table)
         mem_gc_free(interp, byte_code->op_info_table);
-    if (byte_code->op_mapping.libs)
+    if (byte_code->op_mapping.libs) {
+        opcode_t n_libs = byte_code->op_mapping.n_libs;
+        opcode_t i;
+
+        for (i = 0; i < n_libs; i++) {
+            mem_gc_free(interp, byte_code->op_mapping.libs[i].table_ops);
+            mem_gc_free(interp, byte_code->op_mapping.libs[i].lib_ops);
+        }
+
         mem_gc_free(interp, byte_code->op_mapping.libs);
+    }
 
     byte_code->fixups          = NULL;
     byte_code->const_table     = NULL;


More information about the parrot-commits mailing list