]> Savannah Git Hosting - gnulib.git/commitdiff
backupfile: fix resource leak on memory failure
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 23 Jul 2019 19:25:01 +0000 (12:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 23 Jul 2019 19:25:19 +0000 (12:25 -0700)
Problem found by Coverity (CID 1484214).
* lib/backupfile.c (backupfile_internal): Don’t leak dirp.

ChangeLog
lib/backupfile.c

index 4b7bb205440dd9e7837ad727d6fdc90326798e8c..9b994381bc85671ddf4f1ad86ef73e406f1350b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       backupfile: fix resource leak on memory failure
+       Problem found by Coverity (CID 1484214).
+       * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
+
 2019-07-22  Bruno Haible  <bruno@clisp.org>
 
        Avoid missing-declarations warning in various tests.
index 254c086145f0c0dddda97c649ecf2f8c2784eae3..82baca576c4308bfab94f02df5d53e85449d2aca 100644 (file)
@@ -362,6 +362,8 @@ backupfile_internal (int dir_fd, char const *file,
             break;
 
           case BACKUP_NOMEM:
+            if (dirp)
+              closedir (dirp);
             free (s);
             errno = ENOMEM;
             return NULL;