File tree Expand file tree Collapse file tree 3 files changed +8
-1
lines changed Expand file tree Collapse file tree 3 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -2047,7 +2047,7 @@ def get_msg_id(value):
2047
2047
no-fold-literal = "[" *dtext "]"
2048
2048
"""
2049
2049
msg_id = MsgID ()
2050
- if value [0 ] in CFWS_LEADER :
2050
+ if value and value [0 ] in CFWS_LEADER :
2051
2051
token , value = get_cfws (value )
2052
2052
msg_id .append (token )
2053
2053
if not value or value [0 ] != '<' :
Original file line number Diff line number Diff line change @@ -2583,6 +2583,11 @@ def test_invalid_content_transfer_encoding(self):
2583
2583
2584
2584
# get_msg_id
2585
2585
2586
+ def test_get_msg_id_empty (self ):
2587
+ # bpo-38708: Test that HeaderParseError is raised and not IndexError.
2588
+ with self .assertRaises (errors .HeaderParseError ):
2589
+ parser .get_msg_id ('' )
2590
+
2586
2591
def test_get_msg_id_valid (self ):
2587
2592
msg_id = self ._test_get_x (
2588
2593
parser .get_msg_id ,
@@ -2694,6 +2699,7 @@ def test_get_msg_id_no_angle_end(self):
2694
2699
self .assertEqual (msg_id .token_type , 'msg-id' )
2695
2700
2696
2701
2702
+
2697
2703
@parameterize
2698
2704
class Test_parse_mime_parameters (TestParserMixin , TestEmailBase ):
2699
2705
Original file line number Diff line number Diff line change
1
+ Fix a potential IndexError in email parser when parsing an empty msg-id.
You can’t perform that action at this time.
0 commit comments