aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRian Quinn <rianquinn@gmail.com>2016-10-28 00:45:54 -0600
committerNeil MacIntosh <neilmac@microsoft.com>2016-10-27 23:45:54 -0700
commitf4486389b87b1758caffe4621ed45754e698fa47 (patch)
tree58c9c3b6c5838d9f02a7b31cc0401cc006e48e52
parent6cffe0d14cbc0540e16939aaffbee3451fa0a131 (diff)
downloadplatform_external_Microsoft-GSL-f4486389b87b1758caffe4621ed45754e698fa47.tar.gz
platform_external_Microsoft-GSL-f4486389b87b1758caffe4621ed45754e698fa47.tar.bz2
platform_external_Microsoft-GSL-f4486389b87b1758caffe4621ed45754e698fa47.zip
Fix overflow found by GCC in basic_zstring_span::as_string_span().
This patch fixes an overflow that was identified with strict overflow warnings enabled, and optimizations turned on Signed-off-by: “Rian <“rianquinn@gmail.com”>
-rw-r--r--gsl/string_span3
1 files changed, 2 insertions, 1 deletions
diff --git a/gsl/string_span b/gsl/string_span
index fb943dc..703bc01 100644
--- a/gsl/string_span
+++ b/gsl/string_span
@@ -554,7 +554,8 @@ public:
constexpr string_span_type as_string_span() const noexcept
{
- return span_.first(span_.size() - 1);
+ auto sz = span_.size();
+ return span_.first(sz <= 0 ? 0 : sz - 1);
}
constexpr string_span_type ensure_z() const noexcept { return gsl::ensure_z(span_); }