[Top][All Lists]
[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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Help-smalltalk] [PATCH] Fix zlib GC problem,
Paolo Bonzini <=