Introduction
Introduction Statistics Contact Development Disclaimer Help
Avoid unneeded memory allocation in xdirname() - noice - small file browser (mi…
git clone git://git.codemadness.org/noice
Log
Files
Refs
README
LICENSE
---
commit fa6b45a96de53621d4e89bd63ee810210712f043
parent e27af6f1dbc804e90a3b98f19afdf1055bab8dc9
Author: sin <[email protected]>
Date: Wed, 6 Jan 2016 15:53:04 +0000
Avoid unneeded memory allocation in xdirname()
Diffstat:
M noice.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
---
diff --git a/noice.c b/noice.c
@@ -158,21 +158,17 @@ xstrdup(const char *s)
char *
xdirname(const char *path)
{
- char *p, *tmp;
+ char tmp[PATH_MAX], *p;
/* Some implementations of dirname(3) may modify `path' and some
* return a pointer inside `path' and we cannot free(3) the
* original string if we lose track of it. */
- tmp = xstrdup(path);
+ strlcpy(tmp, path, sizeof(tmp));
p = dirname(tmp);
- if (p == NULL) {
- free(tmp);
+ if (p == NULL)
printerr(1, "dirname");
- }
/* Make sure this is a malloc(3)-ed string */
- p = xstrdup(p);
- free(tmp);
- return p;
+ return xstrdup(p);
}
void
You are viewing proxied material from codemadness.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.