Fix for mismatched free() / delete / delete[]

When doing streaming deserialization, valgrind complains about mismatched free()...
It's caused by calls to auto_ptr::free for zones that are null pointers.
This commit is contained in:
Hans Duedal 2013-01-03 19:27:01 -08:00 committed by FURUHASHI Sadayuki
parent 79a06a338a
commit 3a2508545d

View File

@ -226,12 +226,12 @@ inline bool unpacker::next(unpacked* result)
}
if(ret == 0) {
result->zone().reset();
if (result->zone().get() != NULL) result->zone().reset();
result->get() = object();
return false;
} else {
result->zone().reset( release_zone() );
if (result->zone().get() != NULL) result->zone().reset( release_zone() );
result->get() = data();
reset();
return true;