diff options
author | Mike Buland <eichlan@xagasoft.com> | 2023-07-01 11:06:22 -0700 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2023-07-01 11:06:22 -0700 |
commit | fd7583acc0adcce2fa63d21755091ddb3077aa14 (patch) | |
tree | d2c7b019c4ff994b9347141a54a83cc8bffee667 /src/unstable | |
parent | a655bb28194bcea9efc2550d9c41c422c05ce762 (diff) | |
download | libbu++-fd7583acc0adcce2fa63d21755091ddb3077aa14.tar.gz libbu++-fd7583acc0adcce2fa63d21755091ddb3077aa14.tar.bz2 libbu++-fd7583acc0adcce2fa63d21755091ddb3077aa14.tar.xz libbu++-fd7583acc0adcce2fa63d21755091ddb3077aa14.zip |
Fixed potential memory corruption/race condition.
Diffstat (limited to '')
-rw-r--r-- | src/unstable/utfstring.cpp | 8 | ||||
-rw-r--r-- | src/unstable/utfstring.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/unstable/utfstring.cpp b/src/unstable/utfstring.cpp index 9b712c9..be03c6e 100644 --- a/src/unstable/utfstring.cpp +++ b/src/unstable/utfstring.cpp | |||
@@ -47,6 +47,14 @@ Bu::UtfString::UtfString( const char *sInput, Encoding eEnc ) | |||
47 | set( Bu::Blob(sInput), eEnc ); | 47 | set( Bu::Blob(sInput), eEnc ); |
48 | } | 48 | } |
49 | 49 | ||
50 | Bu::UtfString::UtfString( const UtfString &rSrc ) : | ||
51 | aData( rSrc.aData.clone() ), | ||
52 | iRawLen( rSrc.iRawLen ), | ||
53 | iCharLen( rSrc.iCharLen ) | ||
54 | { | ||
55 | |||
56 | } | ||
57 | |||
50 | Bu::UtfString::~UtfString() | 58 | Bu::UtfString::~UtfString() |
51 | { | 59 | { |
52 | } | 60 | } |
diff --git a/src/unstable/utfstring.h b/src/unstable/utfstring.h index 5355f3e..e36c2dd 100644 --- a/src/unstable/utfstring.h +++ b/src/unstable/utfstring.h | |||
@@ -74,6 +74,7 @@ namespace Bu | |||
74 | UtfString( const Bu::String &sInput, Encoding eEnc=Utf8 ); | 74 | UtfString( const Bu::String &sInput, Encoding eEnc=Utf8 ); |
75 | UtfString( const Bu::Blob &sInput, Encoding eEnc=Utf8 ); | 75 | UtfString( const Bu::Blob &sInput, Encoding eEnc=Utf8 ); |
76 | UtfString( const char *sInput, Encoding eEnc=Utf8 ); | 76 | UtfString( const char *sInput, Encoding eEnc=Utf8 ); |
77 | UtfString( const UtfString &rSrc ); | ||
77 | virtual ~UtfString(); | 78 | virtual ~UtfString(); |
78 | 79 | ||
79 | class iterator | 80 | class iterator |