From 3bcfcfb68677683e692f3390c7493ddda8c4592c Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Mon, 4 Nov 2013 09:01:14 +0100 Subject: [PATCH] issue #654: bitarray index makes server down --- arangod/V8Server/v8-vocbase.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arangod/V8Server/v8-vocbase.cpp b/arangod/V8Server/v8-vocbase.cpp index 705189ff33..21af738d65 100644 --- a/arangod/V8Server/v8-vocbase.cpp +++ b/arangod/V8Server/v8-vocbase.cpp @@ -4989,7 +4989,6 @@ static v8::Handle JS_EnsureCapConstraintVocbaseCol (v8::Arguments con //////////////////////////////////////////////////////////////////////////////// static v8::Handle EnsureBitarray (v8::Arguments const& argv, bool supportUndef) { - v8::HandleScope scope; bool ok; string errorString; @@ -5163,13 +5162,15 @@ static v8::Handle EnsureBitarray (v8::Arguments const& argv, bool sup // ............................................................................. for (size_t j = 0; j < attributes._length; ++j) { - char* attribute = (char*)(TRI_AtVectorPointer(&attributes, j)); - TRI_json_t* value = (TRI_json_t*)(TRI_AtVectorPointer(&values, j)); + char* attribute = (char*) TRI_AtVectorPointer(&attributes, j); TRI_Free(TRI_CORE_MEM_ZONE, attribute); - TRI_FreeJson (TRI_UNKNOWN_MEM_ZONE, value); } - TRI_DestroyVectorPointer(&attributes); + + for (size_t j = 0; j < values._length; ++j) { + TRI_json_t* value = (TRI_json_t*) TRI_AtVectorPointer(&values, j); + TRI_FreeJson(TRI_UNKNOWN_MEM_ZONE, value); + } TRI_DestroyVectorPointer(&values);