summaryrefslogtreecommitdiffstats
path: root/support/nfs/cacheio.c
diff options
context:
space:
mode:
authorgmorris <gmorris>2005-03-06 16:27:36 +0000
committergmorris <gmorris>2005-03-06 16:27:36 +0000
commit7d6fa6e153b26e0e9ad2dfdff3ce2168c46dd16b (patch)
treec0c24e08f832604d092509669c03774283c10795 /support/nfs/cacheio.c
parent956008acd1ec89ab03aebdbd5533a5630cf4804a (diff)
downloadnfs-utils-7d6fa6e153b26e0e9ad2dfdff3ce2168c46dd16b.tar.gz
nfs-utils-7d6fa6e153b26e0e9ad2dfdff3ce2168c46dd16b.tar.xz
nfs-utils-7d6fa6e153b26e0e9ad2dfdff3ce2168c46dd16b.zip
Fix bug [ 1157791 ] Segfault in mountd.
Diffstat (limited to 'support/nfs/cacheio.c')
-rw-r--r--support/nfs/cacheio.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
index 33231b0..d7ad429 100644
--- a/support/nfs/cacheio.c
+++ b/support/nfs/cacheio.c
@@ -205,16 +205,17 @@ int readline(int fd, char **buf, int *lenp)
*/
char *new;
int nl;
- *lenp += 128;
+ *lenp *= 2;
new = realloc(*buf, *lenp);
if (new == NULL)
return 0;
- nl = read(fd, *buf +len, *lenp - len);
- if (nl <= 0 )
+ *buf = new;
+ nl = read(fd, *buf + len, *lenp - len);
+ if (nl <= 0)
return 0;
- new += nl;
+ len += nl;
}
- (*buf)[len-1] = 0;
+ (*buf)[len-1] = '\0';
return 1;
}