---
src/include/internal_libreport.h | 1 +
src/lib/create_dump_dir.c | 5 +++--
src/lib/iso_date_string.c | 2 +-
src/plugins/reporter-rhtsupport.c | 6 +++---
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/include/internal_libreport.h b/src/include/internal_libreport.h
index 892a70f..42c94f7 100644
--- a/src/include/internal_libreport.h
+++ b/src/include/internal_libreport.h
@@ -567,6 +567,7 @@ char* get_environ(pid_t pid);
*/
#define iso_date_string libreport_iso_date_string
char *iso_date_string(const time_t *pt);
+#define LIBREPORT_ISO_DATE_STRING_SAMPLE "YYYY-MM-DD-hh:mm:ss"
enum {
MAKEDESC_SHOW_FILES = (1 << 0),
diff --git a/src/lib/create_dump_dir.c b/src/lib/create_dump_dir.c
index 27e3761..fb17d57 100644
--- a/src/lib/create_dump_dir.c
+++ b/src/lib/create_dump_dir.c
@@ -29,8 +29,9 @@ static struct dump_dir *try_dd_create(const char *base_dir_name, const
char *dir
struct dump_dir *create_dump_dir_from_problem_data(problem_data_t *problem_data, const
char *base_dir_name)
{
- char dir_name[sizeof("abrt-tmp-YYYY-MM-DD-HH:MM:SS-%lu") +
sizeof(long)*3];
- sprintf(dir_name, "abrt-tmp-%s-%lu", iso_date_string(NULL),
(long)getpid());
+ const size_t
tmp_required_size=sizeof("abrt-tmp-"LIBREPORT_ISO_DATE_STRING_SAMPLE"-%lu")
+ sizeof(long)*3;
+ char dir_name[tmp_required_size];
+ snprintf(dir_name, tmp_required_size, "abrt-tmp-%s-%lu",
iso_date_string(NULL), (long)getpid());
struct dump_dir *dd;
if (base_dir_name)
diff --git a/src/lib/iso_date_string.c b/src/lib/iso_date_string.c
index ae35cea..2db0d29 100644
--- a/src/lib/iso_date_string.c
+++ b/src/lib/iso_date_string.c
@@ -21,7 +21,7 @@
char *iso_date_string(const time_t *pt)
{
- static char buf[sizeof("YYYY-MM-DD-HH:MM:SS") + 4];
+ static char buf[sizeof(LIBREPORT_ISO_DATE_STRING_SAMPLE) + 4];
time_t t;
struct tm *ptm = localtime(pt ? pt : (time(&t), &t));
diff --git a/src/plugins/reporter-rhtsupport.c b/src/plugins/reporter-rhtsupport.c
index ead5904..d90d744 100644
--- a/src/plugins/reporter-rhtsupport.c
+++ b/src/plugins/reporter-rhtsupport.c
@@ -230,9 +230,9 @@ int main(int argc, char **argv)
dsc = make_description_bz(problem_data, CD_TEXT_ATT_SIZE_BZ);
}
file = new_reportfile();
- const char *dt_string = iso_date_string(NULL);
- char tmpdir_name[sizeof("/tmp/rhtsupport-YYYY-MM-DD-hh:mm:ss-XXXXXX")];
- sprintf(tmpdir_name, "/tmp/rhtsupport-%s-XXXXXX", dt_string);
+ const size_t
tmp_required_size=sizeof("/tmp/rhtsupport-"LIBREPORT_ISO_DATE_STRING_SAMPLE"-XXXXXX");
+ char tmpdir_name[tmp_required_size];
+ snprintf(tmpdir_name, tmp_required_size, "/tmp/rhtsupport-%s-XXXXXX",
iso_date_string(NULL));
/* mkdtemp does mkdir(xxx, 0700), should be safe (is it?) */
if (mkdtemp(tmpdir_name) == NULL)
{
--
1.7.7.6