From b39864a90a6e6161df4058241ff54b8f363f98bd Mon Sep 17 00:00:00 2001 From: Ranjit Mathew Date: Tue, 21 Jan 2003 20:53:31 +0000 Subject: [PATCH] jartool.c (list_jar): Terminate the 'ascii_date' buffer with a '\0' to guard against the case where... 2003-01-21 Ranjit Mathew * jartool.c (list_jar): Terminate the 'ascii_date' buffer with a '\0' to guard against the case where the formatted time string is more than the size allowed by the buffer. From-SVN: r61571 --- fastjar/ChangeLog | 40 ++++++++++++++++++++++++++++++++++++++++ fastjar/jartool.c | 4 +++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/fastjar/ChangeLog b/fastjar/ChangeLog index 7fdadd228aa..d6482fa313c 100644 --- a/fastjar/ChangeLog +++ b/fastjar/ChangeLog @@ -1,3 +1,43 @@ +2003-01-21 Ranjit Mathew + + * jartool.c (list_jar): Terminate the 'ascii_date' buffer + with a '\0' to guard against the case where the formatted + time string is more than the size allowed by the buffer. + +Patch: +-------------------------- 8< -------------------------- +--- ChangeLog Mon Jan 20 23:27:56 2003 ++++ ChangeLog Mon Jan 20 23:31:42 2003 +@@ -1572,5 +1572,5 @@ + time_t tdate; + struct tm *s_tm; +- char ascii_date[30]; ++ char ascii_date[31]; + zipentry ze; + +@@ -1663,4 +1663,5 @@ + s_tm = localtime(&tdate); + strftime(ascii_date, 30, "%a %b %d %H:%M:%S %Z %Y", s_tm); ++ ascii_date[30] = '\0'; + } + +@@ -1782,4 +1783,5 @@ + s_tm = localtime(&tdate); + strftime(ascii_date, 30, "%a %b %d %H:%M:%S %Z %Y", s_tm); ++ ascii_date[30] = '\0'; + } + +-------------------------- 8< -------------------------- + +Sincerely Yours, +Ranjit. + +-- +Ranjit Mathew Email: rmathew AT hotmail DOT com +Bangalore, +INDIA. Web: http://ranjitmathew.tripod.com/ + + 2003-01-14 Tom Tromey * config.h.in: Rebuilt. diff --git a/fastjar/jartool.c b/fastjar/jartool.c index dcca13d1c5e..3e946ab4f06 100644 --- a/fastjar/jartool.c +++ b/fastjar/jartool.c @@ -1564,7 +1564,7 @@ int list_jar(int fd, char **files, int file_num){ int i, j; time_t tdate; struct tm *s_tm; - char ascii_date[30]; + char ascii_date[31]; zipentry ze; #ifdef DEBUG @@ -1655,6 +1655,7 @@ int list_jar(int fd, char **files, int file_num){ tdate = dos2unixtime(mdate); s_tm = localtime(&tdate); strftime(ascii_date, 30, "%a %b %d %H:%M:%S %Z %Y", s_tm); + ascii_date[30] = '\0'; } if(filename_len < fnlen + 1){ @@ -1781,6 +1782,7 @@ int list_jar(int fd, char **files, int file_num){ free(filename); filename = malloc(sizeof(ub1) * (fnlen + 1)); + ascii_date[30] = '\0'; filename_len = fnlen + 1; }