(xreadlink): Preserve errno around `free' during failure.
authorJim Meyering <jim@meyering.net>
Mon, 3 Sep 2001 18:25:58 +0000 (18:25 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 3 Sep 2001 18:25:58 +0000 (18:25 +0000)
lib/xreadlink.c

index 881b794..a018333 100644 (file)
@@ -58,7 +58,9 @@ xreadlink (char const *filename, size_t *link_length_arg)
       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)