help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] [PATCH] Fix zlib GC problem


From: Paolo Bonzini
Subject: [Help-smalltalk] [PATCH] Fix zlib GC problem
Date: Fri, 30 Nov 2007 18:31:05 +0100
User-agent: Thunderbird 2.0.0.9 (Macintosh/20071031)

Pointed out by Daniele off list.

Paolo
2007-11-29  Paolo Bonzini  <address@hidden>

        * zlib.c: Fix potential GC problem.  Reported by Daniele Sciascia.


--- orig/packages/zlib/zlib.c
+++ mod/packages/zlib/zlib.c
@@ -79,10 +79,11 @@ typedef struct zlib_stream {
 void
 gst_deflateInit (OOP oop, int factor, int winSize)
 {
-  zlib_stream zs = (zlib_stream) OOP_TO_OBJ (oop);
   z_stream *zlib_obj = calloc (1, sizeof (z_stream));
 
-  zs->zlibObject = vmProxy->cObjectToOOP (zlib_obj);
+  OOP zlibObjOOP = vmProxy->cObjectToOOP (zlib_obj)
+  zlib_stream zs = (zlib_stream) OOP_TO_OBJ (oop);
+  zs->zlibObject = zlibObjOOP;
   deflateInit2 (zlib_obj, factor, Z_DEFLATED, winSize, 8, Z_DEFAULT_STRATEGY);
 }
 
@@ -90,10 +91,11 @@ gst_deflateInit (OOP oop, int factor, in
 void
 gst_inflateInit (OOP oop, int winSize)
 {
-  zlib_stream zs = (zlib_stream) OOP_TO_OBJ (oop);
   z_stream *zlib_obj = calloc (1, sizeof (z_stream));
 
-  zs->zlibObject = vmProxy->cObjectToOOP (zlib_obj);
+  OOP zlibObjOOP = vmProxy->cObjectToOOP (zlib_obj)
+  zlib_stream zs = (zlib_stream) OOP_TO_OBJ (oop);
+  zs->zlibObject = zlibObjOOP;
   inflateInit2 (zlib_obj, winSize);
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]