From d7013609a8975f9d8f3b86d6c2c1570d7ec9ad52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 13 Jul 2005 23:43:05 +0000 Subject: [PATCH] Fixed a big memory leak: _user_writev() and _user_readv() allocated a new iovec array, but only freed them on (early) error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13666 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/fs/fd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/fs/fd.c b/src/system/kernel/fs/fd.c index 8791ba6242..f340ea5987 100644 --- a/src/system/kernel/fs/fd.c +++ b/src/system/kernel/fs/fd.c @@ -430,7 +430,7 @@ _user_readv(int fd, off_t pos, const iovec *userVecs, size_t count) bytesRead = B_BAD_VALUE; put_fd(descriptor); - return bytesRead; + status = bytesRead; err: free(vecs); @@ -523,7 +523,7 @@ _user_writev(int fd, off_t pos, const iovec *userVecs, size_t count) bytesWritten = B_BAD_VALUE; put_fd(descriptor); - return bytesWritten; + status = bytesWritten; err: free(vecs);