From feadae05c813c79e4a867af4ce91959ef3b37228 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Mon, 19 Apr 2010 01:29:09 +0200 Subject: [PATCH 1/2] Tag: Fix segfault in tag_del (Bug #50 signaled by addikt1ve) --- src/tag.c | 6 +++++- src/wmfs.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tag.c b/src/tag.c index a45de91..71170ec 100644 --- a/src/tag.c +++ b/src/tag.c @@ -455,9 +455,13 @@ tag_delete(int s, int tag) void uicb_tag_del(uicb_t cmd) { + int n; + screen_get_sel(); - tag_delete(selscreen, ((strlen((char*)cmd)) ? atoi(cmd) : seltag[selscreen])); + n = (cmd ? atoi(cmd) : seltag[selscreen]); + + tag_delete(selscreen, n); return; } diff --git a/src/wmfs.h b/src/wmfs.h index 232ab0e..7e283a9 100644 --- a/src/wmfs.h +++ b/src/wmfs.h @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include From 892b705f95f399da71e74b591436e37294557b1e Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Mon, 19 Apr 2010 01:34:23 +0200 Subject: [PATCH 2/2] Tag: Fix 2nd segfault -> tag_new --- src/tag.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tag.c b/src/tag.c index 71170ec..145d40f 100644 --- a/src/tag.c +++ b/src/tag.c @@ -389,7 +389,7 @@ tag_new(int s, char *name) tags[s][conf.ntag[s]] = t; - tags[s][conf.ntag[s]].name = _strdup(((strlen(name)) ? name : "new tag")); + tags[s][conf.ntag[s]].name = _strdup((name ? name : "new tag")); infobar_update_taglist(s); infobar_draw(s); @@ -405,6 +405,7 @@ uicb_tag_new(uicb_t cmd) { screen_get_sel(); + tag_new(selscreen, (char*)cmd); return;