summaryrefslogtreecommitdiff
path: root/kernel/log.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-07-19 20:53:29 +0200
committerClifford Wolf <clifford@clifford.at>2014-07-19 20:53:29 +0200
commit02f0acb3bce05f3af036495aa36049c67ffbdb52 (patch)
tree995a476928dc30bfb41ccb534b8cbfc04a52ac7a /kernel/log.cc
parentefd9604dfb92fda05c3efea67b7c32d812717fa8 (diff)
Fixed log_id() memory corruption
Diffstat (limited to 'kernel/log.cc')
-rw-r--r--kernel/log.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/log.cc b/kernel/log.cc
index b2c92e4e..3108bddf 100644
--- a/kernel/log.cc
+++ b/kernel/log.cc
@@ -205,3 +205,11 @@ const char *log_signal(const RTLIL::SigSpec &sig, bool autoint)
return string_buf.back().c_str();
}
+const char *log_id(std::string str)
+{
+ if (str.size() > 1 && str[0] == '\\' && str[1] != '$')
+ string_buf.push_back(str.substr(1));
+ else
+ string_buf.push_back(str);
+ return string_buf.back().c_str();
+}