projects
/
profile
/
ivi
/
pulseaudio.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
16a275a
)
fix pa_xstrndup() implementation to not access potentially uninitialized memory
author
Lennart Poettering
<lennart@poettering.net>
Sat, 3 Jun 2006 00:59:24 +0000
(
00:59
+0000)
committer
Lennart Poettering
<lennart@poettering.net>
Sat, 3 Jun 2006 00:59:24 +0000
(
00:59
+0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1006
fefdeb5f
-60dc-0310-8127-
8f9354f1896f
src/polyp/xmalloc.c
patch
|
blob
|
history
diff --git
a/src/polyp/xmalloc.c
b/src/polyp/xmalloc.c
index
ffc7f7c
..
7f71a5e
100644
(file)
--- a/
src/polyp/xmalloc.c
+++ b/
src/polyp/xmalloc.c
@@
-106,19
+106,18
@@
char *pa_xstrdup(const char *s) {
}
char *pa_xstrndup(const char *s, size_t l) {
+ char *e, *r;
+
if (!s)
return NULL;
- else {
- char *r;
- size_t t = strlen(s);
-
if (t > l
)
-
t = l
;
-
-
r = pa_xmemdup(s, t
+1);
-
r[t] = 0
;
-
return r
;
- }
+
if ((e = memchr(s, 0, l))
)
+
return pa_xmemdup(s, e-s+1)
;
+
+
r = pa_xmalloc(l
+1);
+
memcpy(r, s, l)
;
+
r[l] = 0
;
+ return r;
}
void pa_xfree(void *p) {