From e5bf0681473aa98091c1eec4ea174407b54d7ef0 Mon Sep 17 00:00:00 2001 From: Jack Ren Date: Tue, 13 Mar 2012 18:26:28 +0800 Subject: [PATCH] bionic: fix NULL parameter failure in getcwd() LTP: getcwd01 failed in LTP Need to check getcwd parameters, otherwise it will lead to posix test case to fail. Change-Id: Ieb673b6dd4ca6481da81c5339dbf7ec0a463f263 Signed-off-by: Jin Wei Signed-off-by: Jack Ren Signed-off-by: Bruce Beare --- libc/unistd/getcwd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libc/unistd/getcwd.c b/libc/unistd/getcwd.c index 1cf80e975..117244554 100644 --- a/libc/unistd/getcwd.c +++ b/libc/unistd/getcwd.c @@ -26,10 +26,15 @@ * SUCH DAMAGE. */ #include +#include extern int __getcwd(char * buf, size_t size); char *getcwd(char *buf, size_t size) { + if (buf == NULL || size == 0) { + errno = EINVAL; + return NULL; + } return ( __getcwd(buf, size) < 0 ) ? NULL : buf; }