ryantimwilson / rpms / systemd

Forked from rpms/systemd a month ago
Clone
Zbigniew Jędrzejewski-Szmek 62fe94
From 9348f0e690c28f86a69c96e3e9b9f19a31c6d466 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 62fe94
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek 62fe94
Date: Wed, 1 Oct 2014 07:33:22 -0500
Zbigniew Jędrzejewski-Szmek 62fe94
Subject: [PATCH] tmpfiles: use allocated buffer for path
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
Paths can in principle be longer then PATH_MAX, so
Zbigniew Jędrzejewski-Szmek 62fe94
simply allocate the buffer with malloc().
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
CID #1237773
Zbigniew Jędrzejewski-Szmek 62fe94
---
Zbigniew Jędrzejewski-Szmek 62fe94
 src/tmpfiles/tmpfiles.c | 6 +++++-
Zbigniew Jędrzejewski-Szmek 62fe94
 1 file changed, 5 insertions(+), 1 deletion(-)
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 62fe94
index 7eafd6bb30..dafb9aee2f 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/tmpfiles/tmpfiles.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1064,7 +1064,7 @@ static int clean_item(Item *i) {
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
 static int process_item(Item *i) {
Zbigniew Jędrzejewski-Szmek 62fe94
         int r, q, p;
Zbigniew Jędrzejewski-Szmek 62fe94
-        char prefix[PATH_MAX];
Zbigniew Jędrzejewski-Szmek 62fe94
+        _cleanup_free_ char *prefix = NULL;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         assert(i);
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1073,6 +1073,10 @@ static int process_item(Item *i) {
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         i->done = true;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        prefix = malloc(strlen(i->path) + 1);
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (!prefix)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return log_oom();
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         PATH_FOREACH_PREFIX(prefix, i->path) {
Zbigniew Jędrzejewski-Szmek 62fe94
                 Item *j;
Zbigniew Jędrzejewski-Szmek 62fe94