summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-05-01 18:56:14 +0000
committerLennart Poettering <lennart@poettering.net>2008-05-01 18:56:14 +0000
commitb12b8ee16071305cc0686a0d8130f958742a5078 (patch)
treeadb027ebf13c72a16803fda91bea9a4a27005f41
parentcaf742a0764589cd77bf3b28e4b80c761d83e3bb (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.c5
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;
}