Introduction
Introduction Statistics Contact Development Disclaimer Help
Fix parsepath() to include devnamesz - smdev - suckless mdev
git clone git://git.suckless.org/smdev
Log
Files
Refs
README
LICENSE
---
commit 817b53cfcef7d802db253132cb8bcee3accb56bb
parent 3f864d112ba7ab71fc76e8141a901c7c51190aa0
Author: sin <[email protected]>
Date: Fri, 23 Aug 2013 14:47:05 +0100
Fix parsepath() to include devnamesz
Diffstat:
M smdev.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/smdev.c b/smdev.c
@@ -43,7 +43,7 @@ static int dohotplug(void);
static int matchrule(int ruleidx, char *devname);
static void runrulecmd(struct rule *rule);
static void parsepath(struct rule *rule, char *devpath,
- size_t devpathsz, char *devname);
+ size_t devpathsz, char *devname, size_t devnamesz);
static int removedev(struct event *ev);
static int createdev(struct event *ev);
static int doevent(struct event *ev);
@@ -164,7 +164,7 @@ runrulecmd(struct rule *rule)
*/
static void
parsepath(struct rule *rule, char *devpath, size_t devpathsz,
- char *devname)
+ char *devname, size_t devnamesz)
{
char buf[BUFSIZ], *p;
char *dirc, *basec;
@@ -186,13 +186,13 @@ parsepath(struct rule *rule, char *devpath, size_t devpat…
snprintf(buf, sizeof(buf), "/dev/%s", dirname(dirc));
if (!(basec = strdup(&rule->path[1])))
eprintf("strdup:");
- strlcpy(devname, basename(basec), sizeof(devname));
+ strlcpy(devname, basename(basec), devnamesz);
snprintf(devpath, devpathsz, "%s/%s",
buf, devname);
free(dirc);
free(basec);
} else {
- strlcpy(devname, &rule->path[1], sizeof(devname));
+ strlcpy(devname, &rule->path[1], devnamesz);
snprintf(devpath, devpathsz, "/dev/%s", devname);
}
}
@@ -210,7 +210,7 @@ removedev(struct event *ev)
snprintf(devpath, sizeof(devpath), "/dev/%s", devname);
if (rule->path)
parsepath(rule, devpath, sizeof(devpath),
- devname);
+ devname, sizeof(devname));
runrulecmd(rule);
/* Delete device node */
unlink(devpath);
@@ -246,7 +246,7 @@ createdev(struct event *ev)
/* Parse path and create the directory tree */
if (rule->path) {
parsepath(rule, devpath, sizeof(devpath),
- devname);
+ devname, sizeof(devname));
if (!(dirc = strdup(devpath)))
eprintf("strdup:");
strlcpy(buf, dirname(dirc), sizeof(buf));
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.