Introduction
Introduction Statistics Contact Development Disclaimer Help
Don't strdup() for basename() - smdev - suckless mdev
git clone git://git.suckless.org/smdev
Log
Files
Refs
README
LICENSE
---
commit 8ded4053dbc591e4027f0e57b132fdead3ed35b5
parent 817b53cfcef7d802db253132cb8bcee3accb56bb
Author: sin <[email protected]>
Date: Fri, 23 Aug 2013 14:49:54 +0100
Don't strdup() for basename()
Diffstat:
M smdev.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
---
diff --git a/smdev.c b/smdev.c
@@ -167,7 +167,7 @@ parsepath(struct rule *rule, char *devpath, size_t devpaths…
char *devname, size_t devnamesz)
{
char buf[BUFSIZ], *p;
- char *dirc, *basec;
+ char *dirc;
if (rule->path[0] != '=' && rule->path[0] != '>')
eprintf("Invalid path '%s'\n", rule->path);
@@ -184,13 +184,10 @@ parsepath(struct rule *rule, char *devpath, size_t devpat…
if (!(dirc = strdup(&rule->path[1])))
eprintf("strdup:");
snprintf(buf, sizeof(buf), "/dev/%s", dirname(dirc));
- if (!(basec = strdup(&rule->path[1])))
- eprintf("strdup:");
- strlcpy(devname, basename(basec), devnamesz);
+ strlcpy(devname, basename(&rule->path[1]), devnamesz);
snprintf(devpath, devpathsz, "%s/%s",
buf, devname);
free(dirc);
- free(basec);
} else {
strlcpy(devname, &rule->path[1], devnamesz);
snprintf(devpath, devpathsz, "/dev/%s", devname);
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.