Skip to content

Commit

Permalink
Check the result of localtime().
Browse files Browse the repository at this point in the history
Unlikely to fail, but it squelches CID 1398220.

Change-Id: I0e40146f0a32c1082e84052c6b3e382fe6a15ae7
Reviewed-on: https://code.wireshark.org/review/21177
Reviewed-by: Guy Harris <guy@alum.mit.edu>
  • Loading branch information
guyharris committed Apr 18, 2017
1 parent 613476f commit 7207050
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions wsutil/tempfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ create_tempfile(char **namebuf, const char *pfx, const char *sfx)
int old_umask;
int fd;
time_t current_time;
struct tm *tm;
char timestr[14 + 1];
gchar *tmp_file;
gchar *safe_pfx;
Expand Down Expand Up @@ -204,8 +205,11 @@ create_tempfile(char **namebuf, const char *pfx, const char *sfx)
_tzset();
#endif
current_time = time(NULL);
/* We trust the OS not to return a time before the Epoch. */
strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", localtime(&current_time));
tm = localtime(&current_time);
if (tm != NULL)
strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", tm);
else
g_strlcpy(timestr, "196912312359", sizeof(timestr)); /* second before the Epoch */
sep[0] = G_DIR_SEPARATOR;
tmp_file = g_strconcat(tmp_dir, sep, safe_pfx, "_", timestr, "_", TMP_FILE_SUFFIX, sfx, NULL);
g_free(safe_pfx);
Expand Down

0 comments on commit 7207050

Please sign in to comment.