]> git.ozlabs.org Git - ccan/blobdiff - talloc/talloc.c
Preserve errno on talloc_free
[ccan] / talloc / talloc.c
index 17bb0ec8cc5f3f230615a3514f2e2c4e3b578e5a..e9f531fe58277992767534a345c11dfc0dc9e4ff 100644 (file)
@@ -730,7 +730,11 @@ void *talloc_named_const(const void *context, size_t size, const char *name)
 */
 int talloc_free(void *ptr)
 {
-       return _talloc_free(ptr);
+       int saved_errno = errno, ret;
+       ret = _talloc_free(ptr);
+       if (ret == 0)
+               errno = saved_errno;
+       return ret;
 }