diff --git a/src/Dict.cc b/src/Dict.cc index 4f29c16b68..2d626c1df7 100644 --- a/src/Dict.cc +++ b/src/Dict.cc @@ -567,7 +567,7 @@ void Dictionary::Clear() delete_func(table[i].value); table[i].Clear(); } - delete [] table; + free(table); table = nullptr; } @@ -731,7 +731,7 @@ void* Dictionary::Insert(void* key, int key_size, zeek::detail::hash_t hash, voi v = table[position].value; table[position].value = val; if ( ! copy_key ) - delete (char*)key; + delete [] (char*)key; if ( order ) {//set new v to order too. diff --git a/src/Dict.h b/src/Dict.h index 44beca5821..2e7c2a470e 100644 --- a/src/Dict.h +++ b/src/Dict.h @@ -90,7 +90,7 @@ public: { memcpy(key_here, arg_key, key_size); if ( ! copy_key ) - delete (char*)arg_key; //own the arg_key, now don't need it. + delete [] (char*)arg_key; //own the arg_key, now don't need it. } else { @@ -123,7 +123,7 @@ public: void Clear() { if( key_size > 8 ) - delete key; + delete [] key; SetEmpty(); }