From 6372bf3677c216ce8dd4dad90c51a6f2bff17f12 Mon Sep 17 00:00:00 2001 From: Hyeongsik Min Date: Tue, 27 Dec 2016 16:25:19 +0900 Subject: [PATCH] Replace readdir_r with readdir Change-Id: I1a6c75d8a2f64e58a4c81724e2c3b0568b581a7b Signed-off-by: Hyeongsik Min --- sysdeps/linux-gnu/proc.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c index 953fd86..d17510d 100644 --- a/sysdeps/linux-gnu/proc.c +++ b/sysdeps/linux-gnu/proc.c @@ -242,14 +242,8 @@ process_tasks(pid_t pid, pid_t **ret_tasks, size_t *ret_n) size_t alloc = 0; while (1) { - struct dirent entry; struct dirent *result; - if (readdir_r(d, &entry, &result) != 0) { - fail: - free(tasks); - closedir(d); - return -1; - } + result = readdir(d); if (result == NULL) break; if (result->d_type == DT_DIR && all_digits(result->d_name)) { @@ -258,8 +252,11 @@ process_tasks(pid_t pid, pid_t **ret_tasks, size_t *ret_n) alloc = alloc > 0 ? (2 * alloc) : 8; pid_t *ntasks = realloc(tasks, sizeof(*tasks) * alloc); - if (ntasks == NULL) - goto fail; + if (ntasks == NULL) { + free(tasks); + closedir(d); + return -1; + } tasks = ntasks; } assert(n < alloc); -- 2.7.4