summaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-04-19 21:05:49 +0000
committerDana Jansens <danakj@orodu.net>2002-04-19 21:05:49 +0000
commit8f8eba7b962023a7cd702f503c1d9e4645d984fb (patch)
treec6fc1d139bc0ac6343ab4e93853d0f816ac60b83 /src/Screen.cc
parente75d3560a621976eee5413d3583c14c294fbeab6 (diff)
fixed memory leak in screen::load()
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 44515671..8ad57376 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -1192,8 +1192,11 @@ void BScreen::load() {
rname.seekp(0); rclass.seekp(0);
rname << rscreen.str() << "strftimeFormat" << ends;
rclass << rscreen.str() << "StrftimeFormat" << ends;
- if (config.getValue(rname.str(), rclass.str(), s))
+ if (config.getValue(rname.str(), rclass.str(), s)) {
+ if (resource.strftime_format != NULL)
+ delete [] resource.strftime_format;
resource.strftime_format = bstrdup(s.c_str());
+ }
#else // !HAVE_STRFTIME
rname.seekp(0); rclass.seekp(0);
rname << rscreen.str() << "dateFormat" << ends;
@@ -1230,8 +1233,11 @@ void BScreen::load() {
rname.seekp(0); rclass.seekp(0);
rname << rscreen.str() << "rootCommand" << ends;
rclass << rscreen.str() << "RootCommand" << ends;
- if (config.getValue(rname.str(), rclass.str(), s))
+ if (config.getValue(rname.str(), rclass.str(), s)) {
+ if (resource.root_command != NULL)
+ delete [] resource.root_command;
resource.root_command = bstrdup(s.c_str());
+ }
rname.seekp(0); rclass.seekp(0);
rname << rscreen.str() << "opaqueMove" << ends;