summaryrefslogtreecommitdiff
path: root/packages/ltrace/0.7.3/008-glibc-2.24.patch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-05-20 04:58:46 (GMT)
committerAlexey Neyman <stilor@att.net>2017-07-08 17:57:56 (GMT)
commite7deac3aad394325f9e6fc6fda41d34ec94a59e0 (patch)
tree6ad88362f0bfa8385a91eb494009a4646aeb74b6 /packages/ltrace/0.7.3/008-glibc-2.24.patch
parentb9af225f58e45c7fae7eb9d3689fe939243e7578 (diff)
Switch comp.libs/tools and debug to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/ltrace/0.7.3/008-glibc-2.24.patch')
-rw-r--r--packages/ltrace/0.7.3/008-glibc-2.24.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/ltrace/0.7.3/008-glibc-2.24.patch b/packages/ltrace/0.7.3/008-glibc-2.24.patch
new file mode 100644
index 0000000..85b008b
--- /dev/null
+++ b/packages/ltrace/0.7.3/008-glibc-2.24.patch
@@ -0,0 +1,28 @@
+diff -urpN ltrace-0.7.3.orig/sysdeps/linux-gnu/proc.c ltrace-0.7.3/sysdeps/linux-gnu/proc.c
+--- ltrace-0.7.3.orig/sysdeps/linux-gnu/proc.c 2013-01-02 06:24:46.000000000 -0800
++++ ltrace-0.7.3/sysdeps/linux-gnu/proc.c 2016-11-13 11:24:32.760365875 -0800
+@@ -240,14 +240,18 @@ process_tasks(pid_t pid, pid_t **ret_tas
+ size_t alloc = 0;
+
+ while (1) {
+- struct dirent entry;
+ struct dirent *result;
+- if (readdir_r(d, &entry, &result) != 0) {
+- free(tasks);
+- return -1;
+- }
+- if (result == NULL)
++
++ errno = 0;
++ result = readdir(d);
++ if (result == NULL) {
++ if (errno) {
++ free(tasks);
++ closedir(d);
++ return -1;
++ }
+ break;
++ }
+ if (result->d_type == DT_DIR && all_digits(result->d_name)) {
+ pid_t npid = atoi(result->d_name);
+ if (n >= alloc) {