]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Fix bad memory access spotted by Valgrind
authorJoel Rosdahl <joel@rosdahl.net>
Sat, 21 Nov 2009 09:34:04 +0000 (10:34 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 5 Jan 2010 17:53:02 +0000 (18:53 +0100)
NEWS
ccache.c

diff --git a/NEWS b/NEWS
index ab0657e3f482933409184cc797fb74c110127dec..4273f010440aad4f639b6b243c5c7a7d8c875fd5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -54,3 +54,5 @@ Bug fixes:
   - Fixed compilation warnings from GCC 4.3.
 
   - The command specified by CCACHE_PREFIX is no longer part of the hash.
+
+  - Fixed bad memory access spotted by Valgrind.
index 25cd7cb3eec583db44d1d98d928824d2174f6a40..253ada078f44617ce3b8ce639df3dc6f89111c7a 100644 (file)
--- a/ccache.c
+++ b/ccache.c
@@ -814,13 +814,15 @@ static void from_cache(enum fromcache_call_mode mode)
        }
 
        /* send the cpp stderr, if applicable */
-       fd_cpp_stderr = open(cpp_stderr, O_RDONLY | O_BINARY);
-       if (fd_cpp_stderr != -1) {
-               copy_fd(fd_cpp_stderr, 2);
-               close(fd_cpp_stderr);
-               unlink(cpp_stderr);
-               free(cpp_stderr);
-               cpp_stderr = NULL;
+       if (cpp_stderr) {
+               fd_cpp_stderr = open(cpp_stderr, O_RDONLY | O_BINARY);
+               if (fd_cpp_stderr != -1) {
+                       copy_fd(fd_cpp_stderr, 2);
+                       close(fd_cpp_stderr);
+                       unlink(cpp_stderr);
+                       free(cpp_stderr);
+                       cpp_stderr = NULL;
+               }
        }
 
        /* send the stderr */