diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2010-04-27 16:00:35 +0400 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2010-04-27 16:00:35 +0400 |
commit | 99425265031f423d75230090bc71a86a5f14aa50 (patch) | |
tree | 60055c15b4fce6f667fd1d02152247244e69fe37 | |
parent | ecb9d36fe8ce6ffdcf44a1153c9a16bbf7fe3932 (diff) | |
download | gcc-99425265031f423d75230090bc71a86a5f14aa50.zip gcc-99425265031f423d75230090bc71a86a5f14aa50.tar.gz gcc-99425265031f423d75230090bc71a86a5f14aa50.tar.bz2 |
1.c (test01): Clarify size definition.
2010-04-27 Alexander Monakov <amonakov@ispras.ru>
* testsuite/22_locale/codecvt/unshift/char/1.c (test01): Clarify size
definition. Use memcpy and memcmp to avoid access beyond allocated
memory.
From-SVN: r158780
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4d96e3a..501037e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2010-04-27 Alexander Monakov <amonakov@ispras.ru> + + * testsuite/22_locale/codecvt/unshift/char/1.c (test01): Clarify size + definition. Use memcpy and memcmp to avoid access beyond allocated + memory. + 2010-04-27 Jonathan Wakely <jwakely.gcc@gmail.com> * doc/xml/manual/status_cxx200x.xml: Update to match n3092. diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc index ba417af..363b72e 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc @@ -35,7 +35,7 @@ void test01() bool test __attribute__((unused)) = true; const char* c_lit = "black pearl jasmine tea"; const char* from_next; - int size = 23; + int size = std::strlen(c_lit); char* c_arr = new char[size]; char* c_ref = new char[size]; char* to_next; @@ -68,10 +68,10 @@ void test01() VERIFY( to_next == c_arr ); // unshift - strcpy(c_arr, c_lit); + memcpy(c_arr, c_lit, size); result r3 = cvt->unshift(state, c_arr, c_arr + size, to_next); VERIFY( r3 == codecvt_base::noconv ); - VERIFY( !strcmp(c_arr, c_lit) ); + VERIFY( !memcmp(c_arr, c_lit, size) ); VERIFY( to_next == c_arr ); delete [] c_arr; |