qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] linux-user: fix getcwd syscall


From: Rtp
Subject: [Qemu-devel] linux-user: fix getcwd syscall
Date: Thu, 16 Apr 2009 15:04:23 +0200

The patch called "prefer glibc over direct syscalls" (commit 7118) has
replaced the getcwd syscall with a call to the glibc. With this change,
the syscall is returning -1 in error case and 0 otherwise.
This is problematic as the sys_getcwd syscall should return the number
of bytes written to the buffer including the '\0'.

Signed-off-by: Arnaud Patard <address@hidden>
---
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 74b41a8..f5875aa 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -293,7 +293,7 @@ static int sys_getcwd1(char *buf, size_t size)
       /* getcwd() sets errno */
       return (-1);
   }
-  return (0);
+  return strlen(buf)+1;
 }
 
 #ifdef CONFIG_ATFILE

reply via email to

[Prev in Thread] Current Thread [Next in Thread]