Jelajahi Sumber

Merge pull request #14 from stesie/fix-temp-context-leak

Memory leak in php_v8js_v8_get_properties
Patrick Reilly 12 tahun lalu
induk
melakukan
d7bded2a31
1 mengubah file dengan 4 tambahan dan 1 penghapusan
  1. 4 1
      v8js.cc

+ 4 - 1
v8js.cc

@@ -231,12 +231,15 @@ static HashTable *php_v8js_v8_get_properties(zval *object TSRMLS_DC) /* {{{ */
 	v8::Locker locker(obj->isolate);
 	v8::Isolate::Scope isolate_scope(obj->isolate);
 	v8::HandleScope local_scope(obj->isolate);
-	v8::Handle<v8::Context> temp_context = v8::Context::New();
+	v8::Persistent<v8::Context> temp_context = v8::Context::New();
 	v8::Context::Scope temp_scope(temp_context);
 
 	if (php_v8js_v8_get_properties_hash(obj->v8obj, retval, obj->flags, obj->isolate TSRMLS_CC) == SUCCESS) {
+		temp_context.Dispose();
 		return retval;
 	}
+
+	temp_context.Dispose();
 	return NULL;
 }
 /* }}} */