Piotr Caban : msvcp90: Fix string leak in locale__Locimp__Makeloc function.
Alexandre Julliard
julliard at winehq.org
Wed Aug 28 14:03:10 CDT 2013
Module: wine
Branch: master
Commit: 52aeccf960b732af1a39a143c332f7791c1a70f1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=52aeccf960b732af1a39a143c332f7791c1a70f1
Author: Piotr Caban <piotr at codeweavers.com>
Date: Wed Aug 28 15:13:54 2013 +0200
msvcp90: Fix string leak in locale__Locimp__Makeloc function.
---
dlls/msvcp100/locale.c | 2 +-
dlls/msvcp100/msvcp.h | 1 +
dlls/msvcp60/locale.c | 2 +-
dlls/msvcp60/msvcp.h | 1 +
dlls/msvcp71/locale.c | 2 +-
dlls/msvcp71/msvcp.h | 1 +
dlls/msvcp90/locale.c | 2 +-
dlls/msvcp90/msvcp90.h | 1 +
8 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcp100/locale.c b/dlls/msvcp100/locale.c
index e0585bc..19aaef9 100644
--- a/dlls/msvcp100/locale.c
+++ b/dlls/msvcp100/locale.c
@@ -8460,7 +8460,7 @@ locale__Locimp* __cdecl locale__Locimp__Makeloc(const _Locinfo *locinfo, categor
locale__Locimp__Makeushloc(locinfo, cat, locimp, loc);
locimp->catmask |= cat;
- _Yarn_char_copy_ctor(&locimp->name, &locinfo->newlocname);
+ _Yarn_char_op_assign(&locimp->name, &locinfo->newlocname);
return locimp;
}
diff --git a/dlls/msvcp100/msvcp.h b/dlls/msvcp100/msvcp.h
index de8d9e3..067ac76 100644
--- a/dlls/msvcp100/msvcp.h
+++ b/dlls/msvcp100/msvcp.h
@@ -88,6 +88,7 @@ _Yarn_char* __thiscall _Yarn_char_ctor_cstr(_Yarn_char*, const char*);
_Yarn_char* __thiscall _Yarn_char_copy_ctor(_Yarn_char*, const _Yarn_char*);
const char* __thiscall _Yarn_char_c_str(const _Yarn_char*);
void __thiscall _Yarn_char_dtor(_Yarn_char*);
+_Yarn_char* __thiscall _Yarn_char_op_assign(_Yarn_char*, const _Yarn_char*);
/* class locale::facet */
typedef struct {
diff --git a/dlls/msvcp60/locale.c b/dlls/msvcp60/locale.c
index 7a6db3a..a2ce279 100644
--- a/dlls/msvcp60/locale.c
+++ b/dlls/msvcp60/locale.c
@@ -8110,7 +8110,7 @@ static locale__Locimp* locale__Locimp__Makeloc(const _Locinfo *locinfo, category
locale__Locimp__Makeushloc(locinfo, cat, locimp, loc);
locimp->catmask |= cat;
- basic_string_char_copy_ctor(&locimp->name, &locinfo->newlocname);
+ basic_string_char_assign(&locimp->name, &locinfo->newlocname);
return locimp;
}
diff --git a/dlls/msvcp60/msvcp.h b/dlls/msvcp60/msvcp.h
index cc0e688..0a8c57c 100644
--- a/dlls/msvcp60/msvcp.h
+++ b/dlls/msvcp60/msvcp.h
@@ -51,6 +51,7 @@ void basic_string_char_clear(basic_string_char*);
basic_string_char* __thiscall basic_string_char_append_ch(basic_string_char*, char);
MSVCP_size_t __thiscall basic_string_char_length(const basic_string_char*);
basic_string_char* __thiscall basic_string_char_append_len_ch(basic_string_char*, MSVCP_size_t, char);
+basic_string_char* __thiscall basic_string_char_assign(basic_string_char*, const basic_string_char*);
typedef struct
{
diff --git a/dlls/msvcp71/locale.c b/dlls/msvcp71/locale.c
index 4268566..2cb7bd7 100644
--- a/dlls/msvcp71/locale.c
+++ b/dlls/msvcp71/locale.c
@@ -8651,7 +8651,7 @@ static locale__Locimp* locale__Locimp__Makeloc(const _Locinfo *locinfo, category
locale__Locimp__Makeushloc(locinfo, cat, locimp, loc);
locimp->catmask |= cat;
- MSVCP_basic_string_char_copy_ctor(&locimp->name, &locinfo->newlocname);
+ MSVCP_basic_string_char_assign(&locimp->name, &locinfo->newlocname);
return locimp;
}
diff --git a/dlls/msvcp71/msvcp.h b/dlls/msvcp71/msvcp.h
index 5500eba..bf72081 100644
--- a/dlls/msvcp71/msvcp.h
+++ b/dlls/msvcp71/msvcp.h
@@ -55,6 +55,7 @@ const char* __stdcall MSVCP_basic_string_char_c_str(const basic_string_char*);
void __thiscall MSVCP_basic_string_char_clear(basic_string_char*);
basic_string_char* __thiscall MSVCP_basic_string_char_append_ch(basic_string_char*, char);
MSVCP_size_t __thiscall MSVCP_basic_string_char_length(const basic_string_char*);
+basic_string_char* __thiscall MSVCP_basic_string_char_assign(basic_string_char*, const basic_string_char*);
#define BUF_SIZE_WCHAR 8
typedef struct
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index 5e11ece..a07b9d1 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -8949,7 +8949,7 @@ locale__Locimp* __cdecl locale__Locimp__Makeloc(const _Locinfo *locinfo, categor
locale__Locimp__Makeushloc(locinfo, cat, locimp, loc);
locimp->catmask |= cat;
- MSVCP_basic_string_char_copy_ctor(&locimp->name, &locinfo->newlocname);
+ MSVCP_basic_string_char_assign(&locimp->name, &locinfo->newlocname);
return locimp;
}
diff --git a/dlls/msvcp90/msvcp90.h b/dlls/msvcp90/msvcp90.h
index 95b0d0a..59f8544 100644
--- a/dlls/msvcp90/msvcp90.h
+++ b/dlls/msvcp90/msvcp90.h
@@ -55,6 +55,7 @@ const char* __stdcall MSVCP_basic_string_char_c_str(const basic_string_char*);
void __thiscall MSVCP_basic_string_char_clear(basic_string_char*);
basic_string_char* __thiscall MSVCP_basic_string_char_append_ch(basic_string_char*, char);
MSVCP_size_t __thiscall MSVCP_basic_string_char_length(const basic_string_char*);
+basic_string_char* __thiscall MSVCP_basic_string_char_assign(basic_string_char*, const basic_string_char*);
#define BUF_SIZE_WCHAR 8
typedef struct
More information about the wine-cvs
mailing list