From d53b49e5f58de1d63cb57069c34f8406fc9b86f7 Mon Sep 17 00:00:00 2001
From: Carmelo Amoroso <carmelo.amoroso@st.com>
Date: Wed, 5 Dec 2007 17:25:04 +0000
Subject: Fix opendir problem when statically linked due to a missing
 initialization of the mutex field within DIR struct. When linked dynamically
 instead, __pthread_mutex_init will initialize the mutex itself. Without this
 fix, any call to readdir will stuck forever trying to acquire the mutex.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
---
 libc/misc/dirent/opendir.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libc/misc/dirent/opendir.c b/libc/misc/dirent/opendir.c
index 338bef17a..cee703e68 100644
--- a/libc/misc/dirent/opendir.c
+++ b/libc/misc/dirent/opendir.c
@@ -64,6 +64,7 @@ close_and_ret:
 	if (!(ptr = malloc(sizeof(*ptr))))
 		goto nomem_close_and_ret;
 
+	memset(ptr, '\0', sizeof(DIR));
 	ptr->dd_fd = fd;
 	ptr->dd_nextloc = ptr->dd_size = ptr->dd_nextoff = 0;
 
-- 
cgit v1.2.3