You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@etch.apache.org by gr...@apache.org on 2010/10/27 15:57:37 UTC

svn commit: r1027966 - /incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm

Author: grandyho
Date: Wed Oct 27 13:57:37 2010
New Revision: 1027966

URL: http://svn.apache.org/viewvc?rev=1027966&view=rev
Log:
ETCH-106
fix for C Binding: double-free bug for structs containing structs containing strings, clone now sets cloned object to "static_content" -> no double free on clone / original destruction

Modified:
    incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm

Modified: incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm?rev=1027966&r1=1027965&r2=1027966&view=diff
==============================================================================
--- incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm (original)
+++ incubator/etch/trunk/binding-c/compiler/src/main/resources/org/apache/etch/bindings/c/compiler/intf_c.vm Wed Oct 27 13:57:37 2010
@@ -144,6 +144,7 @@ $n.efqname($helper)* new_$n.efqname($hel
     ((etch_object*)$n.name().toString().toLowerCase())->vtab = vtab;  
 #end
 	((etch_object*)$n.name().toString().toLowerCase())->destroy = destroy_$n.efqname($helper);
+	((etch_object*)$n.name().toString().toLowerCase())->clone = clone_$n.efqname($helper);
 
     return $n.name().toString().toLowerCase();
 }
@@ -195,6 +196,8 @@ $n.efqname($helper)* clone_$n.efqname($h
     ((etch_object*)$n.name().toString().toLowerCase())->vtab = vtab;  
 #end
 	((etch_object*)$n.name().toString().toLowerCase())->destroy = destroy_$n.efqname($helper);
+	((etch_object*)$n.name().toString().toLowerCase())->clone = clone_$n.efqname($helper);
+	set_etchobj_static_content($n.name().toString().toLowerCase());
 
     return $n.name().toString().toLowerCase();
 }