From 5ddbe5fa5ee011df10e288c405302a01e7c1dc71 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Sat, 20 Sep 2014 01:03:33 +0200 Subject: C++: Make sure String::GetValue() and Key::GetValue() don't crash with NULL strings --- src/Key.cpp | 9 +++++++-- src/String.cpp | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Key.cpp b/src/Key.cpp index e3ccbe6..ed0c0c6 100644 --- a/src/Key.cpp +++ b/src/Key.cpp @@ -67,8 +67,13 @@ std::string Key::GetValue() const { char* s = NULL; plist_get_key_val(_node, &s); - std::string ret = s; - free(s); + std::string ret; + if (s) { + ret = s; + free(s); + } else { + ret = ""; + } return ret; } diff --git a/src/String.cpp b/src/String.cpp index 09b47b5..0965349 100644 --- a/src/String.cpp +++ b/src/String.cpp @@ -67,8 +67,13 @@ std::string String::GetValue() const { char* s = NULL; plist_get_string_val(_node, &s); - std::string ret = s; - free(s); + std::string ret; + if (s) { + ret = s; + free(s); + } else { + ret = ""; + } return ret; } -- cgit v1.1-32-gdbae