File tree Expand file tree Collapse file tree 1 file changed +25
-37
lines changed
Expand file tree Collapse file tree 1 file changed +25
-37
lines changed Original file line number Diff line number Diff line change @@ -1289,44 +1289,32 @@ static size_t httpHeaderCpy( char * pDest,
12891289
12901290 for ( i = 0 ; i < len ; i ++ )
12911291 {
1292- switch ( pSrc [ i ] )
1292+ if ( pSrc [ i ] == NULL_CHARACTER )
1293+ {
1294+ endOfInput = 1U ;
1295+ }
1296+ else if ( pSrc [ i ] == CARRIAGE_RETURN_CHARACTER )
1297+ {
1298+ LogError ( ( "Invalid character '\r' found in %.*s" ,
1299+ ( int ) len , pSrc ) );
1300+ hasError = 1U ;
1301+ }
1302+ else if ( pSrc [ i ] == LINEFEED_CHARACTER )
1303+ {
1304+ LogError ( ( "Invalid character '\n' found in %.*s" ,
1305+ ( int ) len , pSrc ) );
1306+ hasError = 1U ;
1307+ }
1308+ else if ( ( pSrc [ i ] == COLON_CHARACTER ) && ( isField == 1U ) )
1309+ {
1310+ LogError ( ( "Invalid character ':' found in %.*s" ,
1311+ ( int ) len , pSrc ) );
1312+ hasError = 1U ;
1313+ }
1314+ else
12931315 {
1294- case NULL_CHARACTER :
1295- endOfInput = 1U ;
1296- break ;
1297-
1298- case CARRIAGE_RETURN_CHARACTER :
1299- LogError ( ( "Invalid character '\r' found in %.*s" ,
1300- ( int ) len , pSrc ) );
1301- hasError = 1U ;
1302- break ;
1303-
1304- case LINEFEED_CHARACTER :
1305- LogError ( ( "Invalid character '\n' found in %.*s" ,
1306- ( int ) len , pSrc ) );
1307- hasError = 1U ;
1308- break ;
1309-
1310- case COLON_CHARACTER :
1311-
1312- if ( isField == 1U )
1313- {
1314- LogError ( ( "Invalid character ':' found in %.*s" ,
1315- ( int ) len , pSrc ) );
1316- hasError = 1U ;
1317- }
1318- else
1319- {
1320- pDest [ i ] = pSrc [ i ];
1321- charsWritten ++ ;
1322- }
1323-
1324- break ;
1325-
1326- default :
1327- pDest [ i ] = pSrc [ i ];
1328- charsWritten ++ ;
1329- break ;
1316+ pDest [ i ] = pSrc [ i ];
1317+ charsWritten ++ ;
13301318 }
13311319
13321320 if ( ( endOfInput == 1U ) || ( hasError == 1U ) )
You can’t perform that action at this time.
0 commit comments