From 1f47e8c99f121fe2f55ed77176eb2f4323583433 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 12 Sep 2015 07:34:56 -0400 Subject: [PATCH] TW-1692: 42//' segfaults - Thanks to Daniel Shahaf. --- ChangeLog | 1 + src/DOM.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 9751eb567..4f74d3536 100644 --- a/ChangeLog +++ b/ChangeLog @@ -152,6 +152,7 @@ - TW-1687 task add due:som appears to be interpreted as 'someday' (thanks to Alan Young). - TW-1688 task fails to import (thanks to Rainer Müller). +- TW-1692 42//' segfaults (thanks to Daniel Shahaf). - Prevent potential task duplication during import for non-pending tasks. - Show the active context in "context list", if any is active. - Fix "task edit" dropping annotation text after newlines. diff --git a/src/DOM.cpp b/src/DOM.cpp index 1dde1ad63..66eaec1fb 100644 --- a/src/DOM.cpp +++ b/src/DOM.cpp @@ -65,6 +65,10 @@ DOM::~DOM () // bool DOM::get (const std::string& name, Variant& value) { + // Special case, blank refs cause problems. + if (name == "") + return false; + int len = name.length (); Nibbler n (name); @@ -196,6 +200,10 @@ bool DOM::get (const std::string& name, Variant& value) // as special cases. bool DOM::get (const std::string& name, const Task& task, Variant& value) { + // Special case, blank refs cause problems. + if (name == "") + return false; + // Quickly deal with the most common cases. if (task.size () && name == "id") {