diff options
author | Jim Meyering <jim@meyering.net> | 2001-09-03 18:25:58 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2001-09-03 18:25:58 +0000 |
commit | 0bd7218d197c02dcc5706bc1a7f5c92189dc20ca (patch) | |
tree | 9e16579129423ddaa201ce1896b69bc20bd49a74 /lib/xreadlink.c | |
parent | 8d7314ae9fde9984d9cebe27a96806e02f77be64 (diff) | |
download | gnulib-0bd7218d197c02dcc5706bc1a7f5c92189dc20ca.tar.gz |
(xreadlink): Preserve errno around `free' during failure.
Diffstat (limited to 'lib/xreadlink.c')
-rw-r--r-- | lib/xreadlink.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/xreadlink.c b/lib/xreadlink.c index 881b794f18..a01833381a 100644 --- a/lib/xreadlink.c +++ b/lib/xreadlink.c @@ -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) |