@@ -1036,7 +1036,6 @@ static int s_encoder_state_data_write_next(struct aws_h1_encoder *encoder, struc
10361036
10371037 struct aws_linked_list_node * node = aws_linked_list_front (encoder -> message -> pending_data_write_list );
10381038 encoder -> message -> current_data_write = AWS_CONTAINER_OF (node , struct aws_h1_data_write , node );
1039- aws_linked_list_remove (node );
10401039
10411040 ENCODER_LOG (TRACE , encoder , "Begin sending manual data write" );
10421041 return s_switch_state (encoder , AWS_H1_ENCODER_STATE_DATA_WRITE_BODY );
@@ -1113,6 +1112,7 @@ static int s_encoder_state_data_write_body(struct aws_h1_encoder *encoder, struc
11131112 /* This data write is complete */
11141113 ENCODER_LOG (TRACE , encoder , "Manual data write complete" );
11151114 bool is_end = data_write -> is_end_stream ;
1115+ aws_linked_list_remove (& data_write -> node );
11161116 aws_h1_data_write_complete_and_destroy (data_write , encoder -> current_stream , AWS_ERROR_SUCCESS );
11171117 encoder -> message -> current_data_write = NULL ;
11181118
@@ -1135,6 +1135,7 @@ static int s_encoder_state_data_write_body(struct aws_h1_encoder *encoder, struc
11351135 return s_switch_state (encoder , AWS_H1_ENCODER_STATE_DATA_WRITE_NEXT );
11361136
11371137error :
1138+ aws_linked_list_remove (& data_write -> node );
11381139 aws_h1_data_write_complete_and_destroy (data_write , encoder -> current_stream , error_code );
11391140 encoder -> message -> current_data_write = NULL ;
11401141 return aws_raise_error (error_code );
0 commit comments