Pārlūkot izejas kodu

don't free interned strings, only persistent ones

Stefan Siegl 6 gadi atpakaļ
vecāks
revīzija
18b79d9004
1 mainītis faili ar 4 papildinājumiem un 1 dzēšanām
  1. 4 1
      v8js_class.cc

+ 4 - 1
v8js_class.cc

@@ -991,7 +991,10 @@ static void v8js_persistent_zval_ctor(zval *p) /* {{{ */
 static void v8js_persistent_zval_dtor(zval *p) /* {{{ */
 {
 	assert(Z_TYPE_P(p) == IS_STRING);
-	free(Z_STR_P(p));
+
+	if (!ZSTR_IS_INTERNED(Z_STR_P(p))) {
+		free(Z_STR_P(p));
+	}
 }
 /* }}} */