Fix tag_new() tag name
possible overflow + random memory access
This commit is contained in:
@@ -508,18 +508,20 @@ tag_new(int s, char *name)
|
|||||||
|
|
||||||
++conf.ntag[s];
|
++conf.ntag[s];
|
||||||
|
|
||||||
|
/* TODO: memleak here */
|
||||||
if(!name || strlen(name) == 0)
|
if(!name || strlen(name) == 0)
|
||||||
{
|
{
|
||||||
if(conf.tagnamecount)
|
if(conf.tagnamecount)
|
||||||
{
|
{
|
||||||
displayedName = zmalloc(2);
|
/* displayedName = zmalloc(2); */
|
||||||
sprintf(displayedName, "[%d]", conf.ntag[s]);
|
xasprintf(&displayedName, "[%d]", conf.ntag[s]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
displayedName = conf.default_tag.name;
|
displayedName = conf.default_tag.name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
displayedName = name;
|
displayedName = xstrdup(name);
|
||||||
|
|
||||||
|
|
||||||
Tag t = { displayedName, NULL, 0, 0,
|
Tag t = { displayedName, NULL, 0, 0,
|
||||||
conf.default_tag.mwfact, conf.default_tag.nmaster,
|
conf.default_tag.mwfact, conf.default_tag.nmaster,
|
||||||
|
|||||||
Reference in New Issue
Block a user