@@ -1431,18 +1431,20 @@ static int var_multipart_part_headers_generate(modsec_rec *msr, msre_var *var, m
1431
1431
1432
1432
/* If we had a match add this argument to the collection. */
1433
1433
if (match ) {
1434
- for (j = 0 ; j < parts [i ]-> header_lines -> nelts ; j ++ ) {
1435
- char * header_line = ((char * * )parts [i ]-> header_lines -> elts )[j ];
1436
- msre_var * rvar = apr_pmemdup (mptmp , var , sizeof (msre_var ));
1437
-
1438
- rvar -> value = header_line ;
1439
- rvar -> value_len = strlen (rvar -> value );
1440
- rvar -> name = apr_psprintf (mptmp , "MULTIPART_PART_HEADERS:%s" ,
1441
- log_escape_nq (mptmp , parts [i ]-> name ));
1442
- apr_table_addn (vartab , rvar -> name , (void * )rvar );
1443
-
1444
- count ++ ;
1445
- }
1434
+ if (parts [i ]-> header_lines ) { /* this NULL check shouldn't be necessary */
1435
+ for (j = 0 ; j < parts [i ]-> header_lines -> nelts ; j ++ ) {
1436
+ char * header_line = ((char * * )parts [i ]-> header_lines -> elts )[j ];
1437
+ msre_var * rvar = apr_pmemdup (mptmp , var , sizeof (msre_var ));
1438
+
1439
+ rvar -> value = header_line ;
1440
+ rvar -> value_len = strlen (rvar -> value );
1441
+ rvar -> name = apr_psprintf (mptmp , "MULTIPART_PART_HEADERS:%s" ,
1442
+ log_escape_nq (mptmp , parts [i ]-> name ));
1443
+ apr_table_addn (vartab , rvar -> name , (void * )rvar );
1444
+
1445
+ count ++ ;
1446
+ }
1447
+ }
1446
1448
}
1447
1449
}
1448
1450
0 commit comments