Преглед на файлове

don't free interned strings, only persistent ones

Stefan Siegl преди 6 години
родител
ревизия
18b79d9004
променени са 1 файла, в които са добавени 4 реда и са изтрити 1 реда
  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));
+	}
 }
 /* }}} */