diff options
author | Bruno Haible <bruno@clisp.org> | 2021-05-01 01:03:41 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-05-01 01:04:23 +0200 |
commit | 751e83501400fa62d3e9834da0cf91f2d145e1d2 (patch) | |
tree | 87bcc870cfbc203f82005578296272edeb8d655b /lib/supersede.c | |
parent | afeeb21058d15e5250fff9fbea2c1fec011c061a (diff) | |
download | gnulib-751e83501400fa62d3e9834da0cf91f2d145e1d2.tar.gz |
supersede: Fix crash when malloc() fails.
Found by GCC 11 '-fanalyzer'.
* lib/supersede.c (create_temp_file): Don't crash when malloc() fails.
Diffstat (limited to 'lib/supersede.c')
-rw-r--r-- | lib/supersede.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/supersede.c b/lib/supersede.c index 7371e20e2b..61b4f04347 100644 --- a/lib/supersede.c +++ b/lib/supersede.c @@ -60,6 +60,8 @@ create_temp_file (char *canon_filename, int flags, mode_t mode, /* The temporary file needs to be in the same directory, otherwise the final rename may fail. */ char *temp_filename = (char *) malloc (canon_filename_length + 7 + 1); + if (temp_filename == NULL) + return -1; memcpy (temp_filename, canon_filename, canon_filename_length); memcpy (temp_filename + canon_filename_length, ".XXXXXX", 7 + 1); |