Fossil SCM

Fix a problem with the treatment of unterminated quoted attributes in HTML elements in the wiki formatter.

drh 2019-09-24 17:09 trunk
Commit 48276cfc811da9ad46503a2cabf5e847fbc9e8adae17ab5a64b927ba80059478
1 file changed +6 -2
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -832,20 +832,24 @@
832832
while( !fossil_isspace(z[i]) && z[i]!='>' ){ z++; }
833833
}
834834
if( attrOk ){
835835
p->aAttr[p->nAttr].zValue = zValue;
836836
p->aAttr[p->nAttr].cTerm = c = z[i];
837
- z[i] = 0;
837
+ if( z[i]==0 ){
838
+ i--;
839
+ }else{
840
+ z[i] = 0;
841
+ }
838842
}
839843
i++;
840844
}
841845
if( attrOk ){
842846
seen |= aAttribute[iACode].iMask;
843847
p->nAttr++;
844848
}
845849
while( fossil_isspace(z[i]) ){ i++; }
846
- if( z[i]=='>' || (z[i]=='/' && z[i+1]=='>') ) break;
850
+ if( z[i]==0 || z[i]=='>' || (z[i]=='/' && z[i+1]=='>') ) break;
847851
}
848852
return seen;
849853
}
850854
851855
/*
852856
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -832,20 +832,24 @@
832 while( !fossil_isspace(z[i]) && z[i]!='>' ){ z++; }
833 }
834 if( attrOk ){
835 p->aAttr[p->nAttr].zValue = zValue;
836 p->aAttr[p->nAttr].cTerm = c = z[i];
837 z[i] = 0;
 
 
 
 
838 }
839 i++;
840 }
841 if( attrOk ){
842 seen |= aAttribute[iACode].iMask;
843 p->nAttr++;
844 }
845 while( fossil_isspace(z[i]) ){ i++; }
846 if( z[i]=='>' || (z[i]=='/' && z[i+1]=='>') ) break;
847 }
848 return seen;
849 }
850
851 /*
852
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -832,20 +832,24 @@
832 while( !fossil_isspace(z[i]) && z[i]!='>' ){ z++; }
833 }
834 if( attrOk ){
835 p->aAttr[p->nAttr].zValue = zValue;
836 p->aAttr[p->nAttr].cTerm = c = z[i];
837 if( z[i]==0 ){
838 i--;
839 }else{
840 z[i] = 0;
841 }
842 }
843 i++;
844 }
845 if( attrOk ){
846 seen |= aAttribute[iACode].iMask;
847 p->nAttr++;
848 }
849 while( fossil_isspace(z[i]) ){ i++; }
850 if( z[i]==0 || z[i]=='>' || (z[i]=='/' && z[i+1]=='>') ) break;
851 }
852 return seen;
853 }
854
855 /*
856

Keyboard Shortcuts

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