Fossil SCM

Defend against undefined values in query parameters in the cgi_check_for_malice() routine.

drh 2024-04-09 17:38 trunk
Commit 08df33aa4cae9f3a476ae50a6b6dc2fcb66731fbf50c1abf979e9a36b7fb2a3a
1 file changed +6 -3
+6 -3
--- src/cgi.c
+++ src/cgi.c
@@ -2774,13 +2774,16 @@
27742774
** have been consulted.
27752775
*/
27762776
void cgi_check_for_malice(void){
27772777
struct QParam * pParam;
27782778
int i;
2779
- for(i = 0; i < nUsedQP; ++i){
2779
+ for(i=0; i<nUsedQP; ++i){
27802780
pParam = &aParamQP[i];
2781
- if(0 == pParam->isFetched
2782
- && fossil_islower(pParam->zName[0])){
2781
+ if( 0==pParam->isFetched
2782
+ && pParam->zValue!=0
2783
+ && pParam->zName!=0
2784
+ && fossil_islower(pParam->zName[0])
2785
+ ){
27832786
cgi_value_spider_check(pParam->zValue, pParam->zName);
27842787
}
27852788
}
27862789
}
27872790
--- src/cgi.c
+++ src/cgi.c
@@ -2774,13 +2774,16 @@
2774 ** have been consulted.
2775 */
2776 void cgi_check_for_malice(void){
2777 struct QParam * pParam;
2778 int i;
2779 for(i = 0; i < nUsedQP; ++i){
2780 pParam = &aParamQP[i];
2781 if(0 == pParam->isFetched
2782 && fossil_islower(pParam->zName[0])){
 
 
 
2783 cgi_value_spider_check(pParam->zValue, pParam->zName);
2784 }
2785 }
2786 }
2787
--- src/cgi.c
+++ src/cgi.c
@@ -2774,13 +2774,16 @@
2774 ** have been consulted.
2775 */
2776 void cgi_check_for_malice(void){
2777 struct QParam * pParam;
2778 int i;
2779 for(i=0; i<nUsedQP; ++i){
2780 pParam = &aParamQP[i];
2781 if( 0==pParam->isFetched
2782 && pParam->zValue!=0
2783 && pParam->zName!=0
2784 && fossil_islower(pParam->zName[0])
2785 ){
2786 cgi_value_spider_check(pParam->zValue, pParam->zName);
2787 }
2788 }
2789 }
2790

Keyboard Shortcuts

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