aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <>2024-03-04 11:12:15 +0000
committerdrh <>2024-03-04 11:12:15 +0000
commit8d25d07d50ecfdf82b2148606fb1bdce24509bd2 (patch)
tree1c11af2cc3a45883839d6a101df0ae9046c65438
parent2775f10ebcebc303fa18ab12bd1697ed0794fdcd (diff)
downloadsqlite-8d25d07d50ecfdf82b2148606fb1bdce24509bd2.tar.gz
sqlite-8d25d07d50ecfdf82b2148606fb1bdce24509bd2.zip
Fix assert() statements in date/time computations: The month and day numbers
can be zero if an error has been seen. FossilOrigin-Name: fc773f6c76ec114be8b6e25b13885acb5adcc9d052dca0d8d0ff94e2a0743d64
-rw-r--r--manifest14
-rw-r--r--manifest.uuid2
-rw-r--r--src/date.c6
3 files changed, 11 insertions, 11 deletions
diff --git a/manifest b/manifest
index 0705277b9..f23cc045a 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Document\swhy\sthe\swasm\sbuild\sdoes\snot\suse\sEmscripten's\s-sSTRICT=1\sflag\sand\saccount\sfor\sa\sbehaviour\schange\sin\semsdk\s3.1.55\sregarding\sthe\sHEAPxyz\ssymbols.
-D 2024-03-04T09:56:47.061
+C Fix\sassert()\sstatements\sin\sdate/time\scomputations:\sThe\smonth\sand\sday\snumbers\ncan\sbe\szero\sif\san\serror\shas\sbeen\sseen.
+D 2024-03-04T11:12:15.305
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -696,7 +696,7 @@ F src/build.c 04f1bcee189f045ab086d84fee95db42cb49df82ff8e84af8136309ff3c8a75f
F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 23331529e654be40ca97d171cbbffe9b3d4c71cc53b78fe5501230675952da8b
-F src/date.c b36a3cc75ac691bf72b4759130b04ac2926af6fd4ca98df3400ff20d34a15878
+F src/date.c 29cecfe69287242a12f753ffc883e4231afde3af501fb1b4a7b721b159fc4bb2
F src/dbpage.c 80e46e1df623ec40486da7a5086cb723b0275a6e2a7b01d9f9b5da0f04ba2782
F src/dbstat.c 3b677254d512fcafd4d0b341bf267b38b235ccfddbef24f9154e19360fa22e43
F src/delete.c cb766727c78e715f9fb7ec8a7d03658ed2a3016343ca687acfcec9083cdca500
@@ -2176,8 +2176,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d162af2d9941cd8c53e3928efb42aaaf4e59454f7d39aebf980a30b1427ea75b
-R a1392e5e8b70ba68a9cec5956be8638d
-U stephan
-Z eecd3ea1a1eec87bef8ed5be6afc5f59
+P f6e887203365b30cea6e9c145366345e48256a347388577edf2bada65e0655b7
+R 68522a41082e7767e1ccbf426313c9cf
+U drh
+Z cb9173c28803c9d207f1634b7853f7aa
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index 4b98f8cca..9788f68f5 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-f6e887203365b30cea6e9c145366345e48256a347388577edf2bada65e0655b7 \ No newline at end of file
+fc773f6c76ec114be8b6e25b13885acb5adcc9d052dca0d8d0ff94e2a0743d64 \ No newline at end of file
diff --git a/src/date.c b/src/date.c
index 37bf7fdb4..239a772ca 100644
--- a/src/date.c
+++ b/src/date.c
@@ -296,8 +296,8 @@ static void computeJD(DateTime *p){
*/
static void computeFloor(DateTime *p){
assert( p->validYMD || p->isError );
- assert( (p->D>=1 && p->D<=31) || p->isError );
- assert( (p->M>=1 && p->M<=12) || p->isError );
+ assert( p->D>=0 && p->D<=31 );
+ assert( p->M>=0 && p->M<=12 );
if( p->D<=28 ){
p->nFloor = 0;
}else if( (1<<p->M) & 0x15aa ){
@@ -1047,7 +1047,7 @@ static int parseModifier(
int y = (int)r;
assert( strcmp(aXformType[5].zName,"year")==0 );
computeYMD_HMS(p);
- assert( p->M>=1 && p->M<=12 );
+ assert( p->M>=0 && p->M<=12 );
p->Y += y;
computeFloor(p);
p->validJD = 0;