diff options
Diffstat (limited to 'libc/bionic')
-rw-r--r-- | libc/bionic/clearenv.c | 13 | ||||
-rw-r--r-- | libc/bionic/cpuacct.c | 2 | ||||
-rw-r--r-- | libc/bionic/fork.c | 1 | ||||
-rw-r--r-- | libc/bionic/fts.c | 4 | ||||
-rw-r--r-- | libc/bionic/pthread.c | 1 | ||||
-rw-r--r-- | libc/bionic/system_properties.c | 4 |
6 files changed, 15 insertions, 10 deletions
diff --git a/libc/bionic/clearenv.c b/libc/bionic/clearenv.c index ffc58d9..0f6f066 100644 --- a/libc/bionic/clearenv.c +++ b/libc/bionic/clearenv.c @@ -26,14 +26,17 @@ * SUCH DAMAGE. */ +#include <stddef.h> + extern char** environ; int clearenv(void) { - char **P = environ; - int offset; + char **P = environ; - for (P = &environ[offset]; *P; ++P) - *P = 0; - return 0; + if (P != NULL) { + for (; *P; ++P) + *P = NULL; + } + return 0; } diff --git a/libc/bionic/cpuacct.c b/libc/bionic/cpuacct.c index abdbc51..7317073 100644 --- a/libc/bionic/cpuacct.c +++ b/libc/bionic/cpuacct.c @@ -29,7 +29,7 @@ #include <stdio.h> #include <errno.h> #include <sys/stat.h> -//#include <sys/types.h> +#include "cpuacct.h" int cpuacct_add(uid_t uid) { diff --git a/libc/bionic/fork.c b/libc/bionic/fork.c index e20f548..79b8fff 100644 --- a/libc/bionic/fork.c +++ b/libc/bionic/fork.c @@ -27,6 +27,7 @@ */ #include <unistd.h> #include "pthread_internal.h" +#include "cpuacct.h" extern int __fork(void); diff --git a/libc/bionic/fts.c b/libc/bionic/fts.c index 3dcfb28..c7770b6 100644 --- a/libc/bionic/fts.c +++ b/libc/bionic/fts.c @@ -548,9 +548,9 @@ fts_build(FTS *sp, int type) DIR *dirp; void *oldaddr; size_t len, maxlen; - int nitems, cderrno, descend, level, nlinks, nostat, doadjust; + int nitems, cderrno, descend, level, nlinks, nostat = 0, doadjust; int saved_errno; - char *cp; + char *cp = NULL; /* Set current node pointer. */ cur = sp->fts_cur; diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c index 8eee136..061cce1 100644 --- a/libc/bionic/pthread.c +++ b/libc/bionic/pthread.c @@ -48,6 +48,7 @@ #include <sys/prctl.h> #include <sys/stat.h> #include <fcntl.h> +#include <stdio.h> extern int __pthread_clone(int (*fn)(void*), void *child_stack, int flags, void *arg); extern void _exit_with_stack_teardown(void * stackBase, int stackSize, int retCode); diff --git a/libc/bionic/system_properties.c b/libc/bionic/system_properties.c index 5e3b9e7..767baa3 100644 --- a/libc/bionic/system_properties.c +++ b/libc/bionic/system_properties.c @@ -126,7 +126,7 @@ int __system_property_read(const prop_info *pi, char *name, char *value) for(;;) { serial = pi->serial; while(SERIAL_DIRTY(serial)) { - __futex_wait(&pi->serial, serial, 0); + __futex_wait((volatile void *)&pi->serial, serial, 0); serial = pi->serial; } len = SERIAL_VALUE_LEN(serial); @@ -164,7 +164,7 @@ int __system_property_wait(const prop_info *pi) } else { n = pi->serial; do { - __futex_wait(&pi->serial, n, 0); + __futex_wait((volatile void *)&pi->serial, n, 0); } while(n == pi->serial); } return 0; |