diff options
author | Rian Quinn <rianquinn@gmail.com> | 2016-10-28 00:45:54 -0600 |
---|---|---|
committer | Neil MacIntosh <neilmac@microsoft.com> | 2016-10-27 23:45:54 -0700 |
commit | f4486389b87b1758caffe4621ed45754e698fa47 (patch) | |
tree | 58c9c3b6c5838d9f02a7b31cc0401cc006e48e52 | |
parent | 6cffe0d14cbc0540e16939aaffbee3451fa0a131 (diff) | |
download | platform_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_span | 3 |
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_); } |