Module: wine Branch: master Commit: 9d6c003cd7bb059777b5c931c4843be68560218b URL: http://source.winehq.org/git/wine.git/?a=commit;h=9d6c003cd7bb059777b5c931c4...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Oct 22 17:15:49 2012 +0200
msvcp60: Copy correct number of characters in basic_string::_Grow.
---
dlls/msvcp60/string.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp60/string.c b/dlls/msvcp60/string.c index 591ffdf..ed4391c 100644 --- a/dlls/msvcp60/string.c +++ b/dlls/msvcp60/string.c @@ -203,13 +203,16 @@ MSVCP_bool __thiscall basic_string_char__Grow(basic_string_char *this, MSVCP_siz return FALSE; }
+ if(len > new_res) + len = new_res; + *ptr = 0; if(this->ptr) - char_traits_char__Copy_s(ptr+1, new_size, this->ptr, this->size); + char_traits_char__Copy_s(ptr+1, new_size, this->ptr, len); basic_string_char__Tidy(this, TRUE); this->ptr = ptr+1; this->res = new_res; - basic_string_char__Eos(this, len>new_res ? new_res : len); + basic_string_char__Eos(this, len); }
return new_size>0; @@ -1911,13 +1914,16 @@ MSVCP_bool __thiscall basic_string_wchar__Grow(basic_string_wchar *this, MSVCP_s return FALSE; }
+ if(len > new_res) + len = new_res; + *ptr = 0; if(this->ptr) - char_traits_wchar__Copy_s(ptr+1, new_size, this->ptr, this->size); + char_traits_wchar__Copy_s(ptr+1, new_size, this->ptr, len); basic_string_wchar__Tidy(this, TRUE); this->ptr = ptr+1; this->res = new_res; - basic_string_wchar__Eos(this, len>new_res ? new_res : len); + basic_string_wchar__Eos(this, len); }
return new_size>0;