From df6f45b04bbf304b009ec69334e7079b27e83bec Mon Sep 17 00:00:00 2001 From: "rsesek@chromium.org" Date: Wed, 8 May 2013 16:06:33 +0000 Subject: NULL-check the entry in NonAllocatingMap before setting on it. Using just an assert will still cause a crash in a release build. BUG=http://code.google.com/p/chromium/issues/detail?id=238757 R=mark@chromium.org Review URL: https://breakpad.appspot.com/593003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1174 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/common/simple_string_dictionary.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/common/simple_string_dictionary.h') diff --git a/src/common/simple_string_dictionary.h b/src/common/simple_string_dictionary.h index 20440f60..e241aff5 100644 --- a/src/common/simple_string_dictionary.h +++ b/src/common/simple_string_dictionary.h @@ -156,7 +156,8 @@ class NonAllocatingMap { // Stores |value| into |key|, replacing the existing value if |key| is // already present. |key| must not be NULL. If |value| is NULL, the key is - // removed from the map. + // removed from the map. If there is no more space in the map, then the + // operation silently fails. void SetKeyValue(const char* key, const char* value) { if (!value) { RemoveKey(key); @@ -191,7 +192,8 @@ class NonAllocatingMap { } // If the map is out of space, entry will be NULL. - assert(entry); + if (!entry) + return; #ifndef NDEBUG // Sanity check that the key only appears once. -- cgit v1.2.1