]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a potential memory leak following OOM in the decimal extension.
authordrh <>
Mon, 3 May 2021 13:24:30 +0000 (13:24 +0000)
committerdrh <>
Mon, 3 May 2021 13:24:30 +0000 (13:24 +0000)
FossilOrigin-Name: 5127f7376776e6220eb8f83a30aa6b823c23ae0ac76e7ae41b33ca4e03ce236a

ext/misc/decimal.c
manifest
manifest.uuid

index a8d68ac72f881efcfb6aad9221cdec32270c3cfd..37c6c2f52cc26169c6fd55ecd5887425f182680d 100644 (file)
@@ -459,10 +459,11 @@ static void decimalSubFunc(
   Decimal *pA = decimal_new(context, argv[0], 0, 0);
   Decimal *pB = decimal_new(context, argv[1], 0, 0);
   UNUSED_PARAMETER(argc);
-  if( pB==0 ) return;
-  pB->sign = !pB->sign;
-  decimal_add(pA, pB);
-  decimal_result(context, pA);
+  if( pB ){
+    pB->sign = !pB->sign;
+    decimal_add(pA, pB);
+    decimal_result(context, pA);
+  }
   decimal_free(pA);
   decimal_free(pB);
 }
index 0f9b2c2e92f5c8f22e5736570f26796c84046116..568bd2a762a331f4f787f22c4c5a3768081e3428 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Back\sout\sthe\sNEVER()\sinserted\sby\s[c7309ed3c7588c7e]\sbecause\sit\sis\sreachable\nafter\sall.\s\sdbsqlfuzz\sbc17a306a09329bba0ecc61547077f6178bcf321
-D 2021-05-01T12:09:36.227
+C Fix\sa\spotential\smemory\sleak\sfollowing\sOOM\sin\sthe\sdecimal\sextension.
+D 2021-05-03T13:24:30.571
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -298,7 +298,7 @@ F ext/misc/compress.c 3354c77a7c8e86e07d849916000cdac451ed96500bfb5bd83b20eb61ee
 F ext/misc/csv.c 53b3338d4fa812eda51a2637df30233a4dae16b964ee5666e2051b9672ed8bb4
 F ext/misc/dbdata.c e316fba936571584e55abd5b974a32a191727a6b746053a0c9d439bd2cf93940
 F ext/misc/dbdump.c b8592f6f2da292c62991a13864a60d6c573c47a9cc58362131b9e6a64f823e01
-F ext/misc/decimal.c 3ddbf8162015be4d5ec2395dee4538f1e638bb517174bb148274b132df6e1d08
+F ext/misc/decimal.c 09f967dcf4a1ee35a76309829308ec278d3648168733f4a1147820e11ebefd12
 F ext/misc/eval.c 04bc9aada78c888394204b4ed996ab834b99726fb59603b0ee3ed6e049755dc1
 F ext/misc/explain.c 0086fab288d4352ea638cf40ac382aad3b0dc5e845a1ea829a694c015fd970fe
 F ext/misc/fileio.c 9b69e25da3b51d4a1d905a464ccb96709792ad627a742ba09215bc0d1447e7bd
@@ -1914,7 +1914,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P ea221f3c8e243a5dc4952e510cbe396614a24876bacdc04fb1ebd4127c7ef0d9
-R 535ef1a4883063d40f9ea8f73dfe6502
+P 20a4f3f12cdd8823d53d91025fa41e284c9f629b1d049eb486ff8dc4a1736e1f
+R d3b228fb1af524aaf61dfff58532a25f
 U drh
-Z 2e496444743ee98521dfd704a4523040
+Z 1b25b3cedecdef3028c8a31df912f9dc
index 8adba5d29a384aca8e7340b9294ae9da5ee00617..27e8bc257d63920af50f6f040eb2bb9354287940 100644 (file)
@@ -1 +1 @@
-20a4f3f12cdd8823d53d91025fa41e284c9f629b1d049eb486ff8dc4a1736e1f
\ No newline at end of file
+5127f7376776e6220eb8f83a30aa6b823c23ae0ac76e7ae41b33ca4e03ce236a
\ No newline at end of file