From e77e589a35862f6ac9c4141cfd1beb2844b84c61 Mon Sep 17 00:00:00 2001 From: drh <> Date: Thu, 26 Jun 2025 18:57:20 +0000 Subject: Work around an apparent GCC UBSAN bug. See [forum:/forumpost/1d7c25d4a2d6f5e2|forum thread 1d7c25d4a2d] for details. FossilOrigin-Name: 23056532e51abcff486e38a3319545e6663b4a855abe1bc443e2cd7e0473748c --- src/btree.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/btree.c b/src/btree.c index dc73ac559..1806a914a 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8696,7 +8696,12 @@ static int balance_nonroot( ** of the right-most new sibling page is set to the value that was ** originally in the same field of the right-most old sibling page. */ if( (pageFlags & PTF_LEAF)==0 && nOld!=nNew ){ - MemPage *pOld = (nNew>nOld ? apNew : apOld)[nOld-1]; + MemPage *pOld; + if( nNew>nOld ){ + pOld = apNew[nOld-1]; + }else{ + pOld = apOld[nOld-1]; + } memcpy(&apNew[nNew-1]->aData[8], &pOld->aData[8], 4); } -- cgit v1.2.3