2008-07-22 Roland McGrath <roland@frob.com>
authorroland <roland>
Tue, 22 Jul 2008 20:21:04 +0000 (20:21 +0000)
committerroland <roland>
Tue, 22 Jul 2008 20:21:04 +0000 (20:21 +0000)
* hurd/fd-read.c (_hurd_fd_read): Fix last change.

hurd/fd-read.c

index d673c78..3870652 100644 (file)
@@ -42,7 +42,10 @@ _hurd_fd_read (struct hurd_fd *fd, void *buf, size_t *nbytes, loff_t offset)
   if (data != buf)
     {
       if (nread > *nbytes)     /* Sanity check for bogus server.  */
-       return EGRATUITOUS;
+       {
+         __vm_deallocate (__mach_task_self (), (vm_address_t) data, nread);
+         return EGRATUITOUS;
+       }
       memcpy (buf, data, nread);
       __vm_deallocate (__mach_task_self (), (vm_address_t) data, nread);
     }