diff options
| author | Lars Knoll <lars.knoll@digia.com> | 2013-10-22 13:26:08 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-29 10:39:01 +0100 |
| commit | ffcdbfa03f8bb36b521f8c1a703ee24085fe25bd (patch) | |
| tree | ddee0370444a4f71cabb7847e7f1eb758622bd9f /src/qml/jsruntime/qv4jsonobject.cpp | |
| parent | af22149dd8daf593182fec978f15dc1667c9cf8d (diff) | |
Protect write accesses to objects
Don't write to objects if we have a pending exception to
avoid any side effects.
Change-Id: I9f93a9195a652dbae7033cc6ebb355d5d86e9b5e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4jsonobject.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4jsonobject.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp index 721843afba..5a8acf803c 100644 --- a/src/qml/jsruntime/qv4jsonobject.cpp +++ b/src/qml/jsruntime/qv4jsonobject.cpp @@ -801,7 +801,7 @@ QString Stringify::JO(ObjectRef o) name = it.nextPropertyNameAsString(val); if (name->isNull()) break; - QString key = name->toQStringNoThrow(); + QString key = name->toQString(); QString member = makeMember(key, val); if (!member.isEmpty()) partial += member; @@ -951,7 +951,7 @@ ReturnedValue JsonObject::method_stringify(SimpleCallContext *ctx) ScopedValue arg0(scope, ctx->argument(0)); QString result = stringify.Str(QString(), arg0); - if (result.isEmpty()) + if (result.isEmpty() || scope.engine->hasException) return Encode::undefined(); return ctx->engine->newString(result)->asReturnedValue(); } |
