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 'src/unstable')
| -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 |
