# HG changeset patch # User Jim Meyering # Date 999541558 0 # Node ID 21277cc5ced574585d5ca8bf5149a1ba1bba68f9 # Parent f584fe45f97f5d436832628d3c262202a9acbc6f (xreadlink): Preserve errno around `free' during failure. diff --git a/lib/xreadlink.c b/lib/xreadlink.c --- a/lib/xreadlink.c +++ b/lib/xreadlink.c @@ -58,7 +58,9 @@ link_length = readlink (filename, buffer, buf_size); if (link_length < 0) { + int saved_errno = errno; free (buffer); + errno = saved_errno; return NULL; } if (link_length < buf_size)