Avoid crash when unlinking compilation unit
authorSimon Hausmann <simon.hausmann@digia.com>
Tue, 11 Mar 2014 13:22:34 +0000 (14:22 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 11 Mar 2014 18:59:05 +0000 (19:59 +0100)
Don't free static data

Change-Id: I315b98841e1a44492d54ac2732743706c286e527
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/compiler/qv4compileddata.cpp

index 38c8414..ae495e0 100644 (file)
@@ -151,7 +151,8 @@ void CompilationUnit::unlink()
     if (engine)
         engine->compilationUnits.erase(engine->compilationUnits.find(this));
     engine = 0;
-    free(data);
+    if (data && !(data->flags & QV4::CompiledData::Unit::StaticData))
+        free(data);
     data = 0;
     free(runtimeStrings);
     runtimeStrings = 0;