diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-05-01 18:56:14 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-05-01 18:56:14 +0000 |
commit | b12b8ee16071305cc0686a0d8130f958742a5078 (patch) | |
tree | adb027ebf13c72a16803fda91bea9a4a27005f41 | |
parent | caf742a0764589cd77bf3b28e4b80c761d83e3bb (diff) |
save errno before calling free()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2313 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r-- | src/pulse/xmalloc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pulse/xmalloc.c b/src/pulse/xmalloc.c index 28490975..a64761bf 100644 --- a/src/pulse/xmalloc.c +++ b/src/pulse/xmalloc.c @@ -29,6 +29,7 @@ #include <signal.h> #include <unistd.h> #include <string.h> +#include <errno.h> #include <pulse/gccmacro.h> #include <pulsecore/core-util.h> @@ -123,8 +124,12 @@ char *pa_xstrndup(const char *s, size_t l) { } void pa_xfree(void *p) { + int saved_errno; + if (!p) return; + saved_errno = errno; free(p); + errno = saved_errno; } |