aboutsummaryrefslogtreecommitdiff
path: root/manual/filesys.texi
diff options
context:
space:
mode:
Diffstat (limited to 'manual/filesys.texi')
-rw-r--r--manual/filesys.texi9
1 files changed, 6 insertions, 3 deletions
diff --git a/manual/filesys.texi b/manual/filesys.texi
index e715ec7..a74f32d 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -1141,16 +1141,19 @@ char *
readlink_malloc (const char *filename)
@{
int size = 100;
+ char *buffer = NULL;
while (1)
@{
- char *buffer = (char *) xmalloc (size);
+ buffer = (char *) xrealloc (buffer, size);
int nchars = readlink (filename, buffer, size);
if (nchars < 0)
- return NULL;
+ @{
+ free (buffer);
+ return NULL;
+ @}
if (nchars < size)
return buffer;
- free (buffer);
size *= 2;
@}
@}