Fossil SCM

Improved error reporting when encountering a malformed delta.

drh 2026-06-10 09:44 UTC trunk
Commit cb5edcab07be198b4777f1f67dae9efd2fafd445f48ae969b6961f8fd427575a
1 file changed +1 -1
+1 -1
--- src/delta.c
+++ src/delta.c
@@ -597,11 +597,11 @@
597597
}
598598
zDelta++; lenDelta--; /* Skip the \n */
599599
while( lenDelta>0 && zDelta[0] ){
600600
unsigned int cnt, ofst;
601601
cnt = getInt(&zDelta, &lenDelta);
602
- if( lenDelta<=0 ) break;
602
+ if( lenDelta<=0 ) return -1;
603603
switch( zDelta[0] ){
604604
case '@': {
605605
zDelta++; lenDelta--;
606606
ofst = getInt(&zDelta, &lenDelta);
607607
if( lenDelta<=0 || zDelta[0]!=',' ){
608608
--- src/delta.c
+++ src/delta.c
@@ -597,11 +597,11 @@
597 }
598 zDelta++; lenDelta--; /* Skip the \n */
599 while( lenDelta>0 && zDelta[0] ){
600 unsigned int cnt, ofst;
601 cnt = getInt(&zDelta, &lenDelta);
602 if( lenDelta<=0 ) break;
603 switch( zDelta[0] ){
604 case '@': {
605 zDelta++; lenDelta--;
606 ofst = getInt(&zDelta, &lenDelta);
607 if( lenDelta<=0 || zDelta[0]!=',' ){
608
--- src/delta.c
+++ src/delta.c
@@ -597,11 +597,11 @@
597 }
598 zDelta++; lenDelta--; /* Skip the \n */
599 while( lenDelta>0 && zDelta[0] ){
600 unsigned int cnt, ofst;
601 cnt = getInt(&zDelta, &lenDelta);
602 if( lenDelta<=0 ) return -1;
603 switch( zDelta[0] ){
604 case '@': {
605 zDelta++; lenDelta--;
606 ofst = getInt(&zDelta, &lenDelta);
607 if( lenDelta<=0 || zDelta[0]!=',' ){
608

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button