diff --git a/src/include/assoc.cpp b/src/include/assoc.cpp index 6d7b150d0..03c33a441 100755 --- a/src/include/assoc.cpp +++ b/src/include/assoc.cpp @@ -214,11 +214,11 @@ bool TAssoc_array::add(const char* key, const TObject& obj, bool force) o->_obj = obj.dup(); return false; } - if (force) - { - if (o->_obj != NULL) - delete o->_obj; - o->_obj = obj.dup(); + if (force && o->_obj != &obj) // Tolla 2017: Aggiunto controllo sugli indirizzi, perchè c'è questo problema? + { + if (o->_obj != NULL) + delete o->_obj; + o->_obj = obj.dup(); } return true; }