diff options
| author | Rob Mensching <rob@firegiant.com> | 2026-01-30 15:18:43 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2026-01-30 18:38:41 -0800 |
| commit | 7c3c2cad3c5e95fac151debc89c2f5629b4c6b21 (patch) | |
| tree | 6d43cdcef8d50a2c524b26681418cee425a39651 /src/burn/engine/variant.cpp | |
| parent | a16948df3c51f872e750798a967505a93b8439d5 (diff) | |
| download | wix-7c3c2cad3c5e95fac151debc89c2f5629b4c6b21.tar.gz wix-7c3c2cad3c5e95fac151debc89c2f5629b4c6b21.tar.bz2 wix-7c3c2cad3c5e95fac151debc89c2f5629b4c6b21.zip | |
Many small code quality fixes
Diffstat (limited to 'src/burn/engine/variant.cpp')
| -rw-r--r-- | src/burn/engine/variant.cpp | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/src/burn/engine/variant.cpp b/src/burn/engine/variant.cpp index 2267ee7b..3fc02aa8 100644 --- a/src/burn/engine/variant.cpp +++ b/src/burn/engine/variant.cpp | |||
| @@ -10,6 +10,9 @@ static HRESULT GetVersionInternal( | |||
| 10 | __in BOOL fSilent, | 10 | __in BOOL fSilent, |
| 11 | __out VERUTIL_VERSION** ppValue | 11 | __out VERUTIL_VERSION** ppValue |
| 12 | ); | 12 | ); |
| 13 | static void FreeVariantValue( | ||
| 14 | __in BURN_VARIANT* pVariant | ||
| 15 | ); | ||
| 13 | 16 | ||
| 14 | // function definitions | 17 | // function definitions |
| 15 | 18 | ||
| @@ -17,12 +20,7 @@ extern "C" void BVariantUninitialize( | |||
| 17 | __in BURN_VARIANT* pVariant | 20 | __in BURN_VARIANT* pVariant |
| 18 | ) | 21 | ) |
| 19 | { | 22 | { |
| 20 | if (BURN_VARIANT_TYPE_FORMATTED == pVariant->Type || | 23 | FreeVariantValue(pVariant); |
| 21 | BURN_VARIANT_TYPE_STRING == pVariant->Type) | ||
| 22 | { | ||
| 23 | StrSecureZeroFreeString(pVariant->sczValue); | ||
| 24 | } | ||
| 25 | SecureZeroMemory(pVariant, sizeof(BURN_VARIANT)); | ||
| 26 | } | 24 | } |
| 27 | 25 | ||
| 28 | extern "C" HRESULT BVariantGetNumeric( | 26 | extern "C" HRESULT BVariantGetNumeric( |
| @@ -164,12 +162,8 @@ extern "C" HRESULT BVariantSetNumeric( | |||
| 164 | { | 162 | { |
| 165 | HRESULT hr = S_OK; | 163 | HRESULT hr = S_OK; |
| 166 | 164 | ||
| 167 | if (BURN_VARIANT_TYPE_FORMATTED == pVariant->Type || | 165 | FreeVariantValue(pVariant); |
| 168 | BURN_VARIANT_TYPE_STRING == pVariant->Type) | 166 | |
| 169 | { | ||
| 170 | StrSecureZeroFreeString(pVariant->sczValue); | ||
| 171 | } | ||
| 172 | memset(pVariant, 0, sizeof(BURN_VARIANT)); | ||
| 173 | pVariant->llValue = llValue; | 167 | pVariant->llValue = llValue; |
| 174 | pVariant->Type = BURN_VARIANT_TYPE_NUMERIC; | 168 | pVariant->Type = BURN_VARIANT_TYPE_NUMERIC; |
| 175 | 169 | ||
| @@ -194,7 +188,7 @@ extern "C" HRESULT BVariantSetString( | |||
| 194 | if (BURN_VARIANT_TYPE_FORMATTED != pVariant->Type && | 188 | if (BURN_VARIANT_TYPE_FORMATTED != pVariant->Type && |
| 195 | BURN_VARIANT_TYPE_STRING != pVariant->Type) | 189 | BURN_VARIANT_TYPE_STRING != pVariant->Type) |
| 196 | { | 190 | { |
| 197 | memset(pVariant, 0, sizeof(BURN_VARIANT)); | 191 | FreeVariantValue(pVariant); |
| 198 | } | 192 | } |
| 199 | 193 | ||
| 200 | hr = StrAllocStringSecure(&pVariant->sczValue, wzValue, cchValue); | 194 | hr = StrAllocStringSecure(&pVariant->sczValue, wzValue, cchValue); |
| @@ -220,12 +214,8 @@ extern "C" HRESULT BVariantSetVersion( | |||
| 220 | } | 214 | } |
| 221 | else // assign the value. | 215 | else // assign the value. |
| 222 | { | 216 | { |
| 223 | if (BURN_VARIANT_TYPE_FORMATTED == pVariant->Type || | 217 | FreeVariantValue(pVariant); |
| 224 | BURN_VARIANT_TYPE_STRING == pVariant->Type) | 218 | |
| 225 | { | ||
| 226 | StrSecureZeroFreeString(pVariant->sczValue); | ||
| 227 | } | ||
| 228 | memset(pVariant, 0, sizeof(BURN_VARIANT)); | ||
| 229 | hr = VerCopyVersion(pValue, &pVariant->pValue); | 219 | hr = VerCopyVersion(pValue, &pVariant->pValue); |
| 230 | pVariant->Type = BURN_VARIANT_TYPE_VERSION; | 220 | pVariant->Type = BURN_VARIANT_TYPE_VERSION; |
| 231 | } | 221 | } |
| @@ -319,3 +309,20 @@ extern "C" HRESULT BVariantChangeType( | |||
| 319 | LExit: | 309 | LExit: |
| 320 | return hr; | 310 | return hr; |
| 321 | } | 311 | } |
| 312 | |||
| 313 | static void FreeVariantValue( | ||
| 314 | __in BURN_VARIANT* pVariant | ||
| 315 | ) | ||
| 316 | { | ||
| 317 | if ((BURN_VARIANT_TYPE_FORMATTED == pVariant->Type || BURN_VARIANT_TYPE_STRING == pVariant->Type) && | ||
| 318 | pVariant->sczValue) | ||
| 319 | { | ||
| 320 | StrSecureZeroFreeString(pVariant->sczValue); | ||
| 321 | } | ||
| 322 | else if (BURN_VARIANT_TYPE_VERSION == pVariant->Type && pVariant->pValue) | ||
| 323 | { | ||
| 324 | VerFreeVersion(pVariant->pValue); | ||
| 325 | } | ||
| 326 | |||
| 327 | SecureZeroMemory(pVariant, sizeof(BURN_VARIANT)); | ||
| 328 | } | ||
