Fossil SCM

When parsing HTML attribute values in Fossil Wiki formatting, do not allow quoting characters inside of non-quoted values.

drh 2020-09-15 14:17 trunk
Commit b07834b386f02f7368c4ef3be2a08dd8eb192b960289f256c0d6e8c0feb5de0e
1 file changed +4 -1
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -827,11 +827,14 @@
827827
i++;
828828
zValue = &z[i];
829829
while( z[i] && z[i]!='\'' ){ i++; }
830830
}else{
831831
zValue = &z[i];
832
- while( !fossil_isspace(z[i]) && z[i]!='>' ){ z++; }
832
+ while( !fossil_isspace(z[i]) && z[i]!='>' ){
833
+ if( z[i]!='\'' && z[i]!='"' ) attrOk = 0;
834
+ z++;
835
+ }
833836
}
834837
if( attrOk ){
835838
p->aAttr[p->nAttr].zValue = zValue;
836839
p->aAttr[p->nAttr].cTerm = c = z[i];
837840
if( z[i]==0 ){
838841
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -827,11 +827,14 @@
827 i++;
828 zValue = &z[i];
829 while( z[i] && z[i]!='\'' ){ i++; }
830 }else{
831 zValue = &z[i];
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
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -827,11 +827,14 @@
827 i++;
828 zValue = &z[i];
829 while( z[i] && z[i]!='\'' ){ i++; }
830 }else{
831 zValue = &z[i];
832 while( !fossil_isspace(z[i]) && z[i]!='>' ){
833 if( z[i]!='\'' && z[i]!='"' ) attrOk = 0;
834 z++;
835 }
836 }
837 if( attrOk ){
838 p->aAttr[p->nAttr].zValue = zValue;
839 p->aAttr[p->nAttr].cTerm = c = z[i];
840 if( z[i]==0 ){
841

Keyboard Shortcuts

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