diff options
Diffstat (limited to 'testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch')
-rw-r--r-- | testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch b/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch deleted file mode 100644 index 456d679ed..000000000 --- a/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch +++ /dev/null @@ -1,87 +0,0 @@ -From fdcad0c25579a60061b1fda956686e878a80faef Mon Sep 17 00:00:00 2001 -From: Lennart Poettering <lennart@poettering.net> -Date: Wed, 11 Jan 2012 22:07:35 +0100 -Subject: [PATCH] tmpfiles: fix parsing of /proc/net/unix on 32Bit machines - -Tracked down by Michael Meeks ---- - src/tmpfiles.c | 30 ++++++++++++++++++++---------- - 1 files changed, 20 insertions(+), 10 deletions(-) - -diff --git a/src/tmpfiles.c b/src/tmpfiles.c -index 19a7c08..44e5c9d 100644 ---- a/src/tmpfiles.c -+++ b/src/tmpfiles.c -@@ -117,41 +117,50 @@ static void load_unix_sockets(void) { - /* We maintain a cache of the sockets we found in - * /proc/net/unix to speed things up a little. */ - -- if (!(unix_sockets = set_new(string_hash_func, string_compare_func))) -+ unix_sockets = set_new(string_hash_func, string_compare_func); -+ if (!unix_sockets) - return; - -- if (!(f = fopen("/proc/net/unix", "re"))) -+ f = fopen("/proc/net/unix", "re"); -+ if (!f) - return; - -- if (!(fgets(line, sizeof(line), f))) -+ /* Skip header */ -+ if (!fgets(line, sizeof(line), f)) - goto fail; - - for (;;) { - char *p, *s; - int k; - -- if (!(fgets(line, sizeof(line), f))) -+ if (!fgets(line, sizeof(line), f)) - break; - - truncate_nl(line); - -- if (strlen(line) < 53) -+ p = strchr(line, ':'); -+ if (!p) -+ continue; -+ -+ if (strlen(p) < 37) - continue; - -- p = line + 53; -+ p += 37; - p += strspn(p, WHITESPACE); -- p += strcspn(p, WHITESPACE); -+ p += strcspn(p, WHITESPACE); /* skip one more word */ - p += strspn(p, WHITESPACE); - - if (*p != '/') - continue; - -- if (!(s = strdup(p))) -+ s = strdup(p); -+ if (!s) - goto fail; - - path_kill_slashes(s); - -- if ((k = set_put(unix_sockets, s)) < 0) { -+ k = set_put(unix_sockets, s); -+ if (k < 0) { - free(s); - - if (k != -EEXIST) -@@ -1059,7 +1068,8 @@ int main(int argc, char *argv[]) { - Item *i; - Iterator iterator; - -- if ((r = parse_argv(argc, argv)) <= 0) -+ r = parse_argv(argc, argv); -+ if (r <= 0) - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; - - log_set_target(LOG_TARGET_AUTO); --- -1.7.8.3 - |