PR libstdc++/7961
* include/bits/basic_string.tcc
(compare(const _CharT* __s)): Don't access __s past its length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58717
138bc75d-0d04-0410-961f-
82ee72b054a4
+2002-11-01 John Carter <john.carter@tait.co.nz>
+
+ PR libstdc++/7961
+ * include/bits/basic_string.tcc
+ (compare(const _CharT* __s)): Don't access __s past its length.
+
2002-10-31 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8348
compare(const _CharT* __s) const
{
size_type __size = this->size();
- int __r = traits_type::compare(_M_data(), __s, __size);
+ size_type __osize = traits_type::length(__s);
+ size_type __len = min(__size, __osize);
+ int __r = traits_type::compare(_M_data(), __s, __len);
if (!__r)
- __r = __size - traits_type::length(__s);
+ __r = __size - __osize;
return __r;
}