diff options
Diffstat (limited to 'meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch')
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch new file mode 100644 index 0000000000..359a3ba526 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch @@ -0,0 +1,32 @@ +From 212536f9d66400bef4400c55efd05dd01303c035 Mon Sep 17 00:00:00 2001 +From: Andreas Stieger <astieger@suse.com> +Date: Sun, 17 Jun 2018 13:00:05 +0200 +Subject: [PATCH] Fix gcc8 error/warning -Werror=format-truncation= + +utilities::datetime::to_string(): datetime_str and buf were oversized +for fitting into output without possible trunctation +--- + Release/src/utilities/asyncrt_utils.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Release/src/utilities/asyncrt_utils.cpp b/Release/src/utilities/asyncrt_utils.cpp +index 0e62bdee..be38907c 100644 +--- a/Release/src/utilities/asyncrt_utils.cpp ++++ b/Release/src/utilities/asyncrt_utils.cpp +@@ -691,12 +691,13 @@ utility::string_t datetime::to_string(date_format format) const + { + // Append fractional second, which is a 7-digit value with no trailing zeros + // This way, '1200' becomes '00012' +- char buf[9] = { 0 }; ++ const int max_frac_length = 8; ++ char buf[max_frac_length+1] = { 0 }; + snprintf(buf, sizeof(buf), ".%07ld", (long int)frac_sec); + // trim trailing zeros +- for (int i = 7; buf[i] == '0'; i--) buf[i] = '\0'; ++ for (int i = max_frac_length-1; buf[i] == '0'; i--) buf[i] = '\0'; + // format the datetime into a separate buffer +- char datetime_str[max_dt_length+1] = {0}; ++ char datetime_str[max_dt_length-max_frac_length-1+1] = {0}; + strftime(datetime_str, sizeof(datetime_str), "%Y-%m-%dT%H:%M:%S", &datetime); + // now print this buffer into the output buffer + snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf); |