Skip to content

Commit 7fedb62

Browse files
committed
MINOR: quic: simplify qc_parse_pkt_frms return path
1 parent e75a019 commit 7fedb62

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/quic_rx.c

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -770,7 +770,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
770770
{
771771
struct quic_frame frm;
772772
const unsigned char *pos, *end;
773-
int fast_retrans = 0, ret = 0;
773+
int fast_retrans = 0;
774774

775775
TRACE_ENTER(QUIC_EV_CONN_PRSHPKT, qc);
776776
/* Skip the AAD */
@@ -788,13 +788,13 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
788788
* a single QUIC packet and cannot span multiple packets.
789789
*/
790790
quic_set_connection_close(qc, quic_err_transport(QC_ERR_PROTOCOL_VIOLATION));
791-
goto leave;
791+
goto err;
792792
}
793793

794794
while (pos < end) {
795795
if (!qc_parse_frm(&frm, pkt, &pos, end, qc)) {
796796
// trace already emitted by function above
797-
goto leave;
797+
goto err;
798798
}
799799

800800
switch (frm.type) {
@@ -810,7 +810,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
810810

811811
if (!qc_parse_ack_frm(qc, &frm, qel, &rtt_sample, &pos, end)) {
812812
// trace already emitted by function above
813-
goto leave;
813+
goto err;
814814
}
815815

816816
if (rtt_sample != UINT_MAX) {
@@ -837,14 +837,14 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
837837
if (qcc_recv_stop_sending(qc->qcc, ss_frm->id,
838838
ss_frm->app_error_code)) {
839839
TRACE_ERROR("qcc_recv_stop_sending() failed", QUIC_EV_CONN_PRSHPKT, qc);
840-
goto leave;
840+
goto err;
841841
}
842842
}
843843
break;
844844
}
845845
case QUIC_FT_CRYPTO:
846846
if (!qc_handle_crypto_frm(qc, &frm.crypto, pkt, qel, &fast_retrans))
847-
goto leave;
847+
goto err;
848848
break;
849849
case QUIC_FT_NEW_TOKEN:
850850
/* TODO */
@@ -866,12 +866,12 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
866866
if (!qc_h3_request_reject(qc, strm_frm->id)) {
867867
TRACE_ERROR("error on request rejection", QUIC_EV_CONN_PRSHPKT, qc);
868868
/* This packet will not be acknowledged */
869-
goto leave;
869+
goto err;
870870
}
871871
}
872872
else {
873873
/* This packet will not be acknowledged */
874-
goto leave;
874+
goto err;
875875
}
876876
}
877877

@@ -880,7 +880,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
880880

881881
if (!qc_handle_strm_frm(pkt, strm_frm, qc, fin)) {
882882
TRACE_ERROR("qc_handle_strm_frm() failed", QUIC_EV_CONN_PRSHPKT, qc);
883-
goto leave;
883+
goto err;
884884
}
885885

886886
break;
@@ -897,7 +897,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
897897
if (qcc_recv_max_stream_data(qc->qcc, msd_frm->id,
898898
msd_frm->max_stream_data)) {
899899
TRACE_ERROR("qcc_recv_max_stream_data() failed", QUIC_EV_CONN_PRSHPKT, qc);
900-
goto leave;
900+
goto err;
901901
}
902902
}
903903
break;
@@ -924,7 +924,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
924924
struct quic_connection_id *conn_id = NULL;
925925

926926
if (!qc_handle_retire_connection_id_frm(qc, &frm, &pkt->dcid, &conn_id))
927-
goto leave;
927+
goto err;
928928

929929
if (!conn_id)
930930
break;
@@ -981,7 +981,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
981981
* error of type PROTOCOL_VIOLATION.
982982
*/
983983
quic_set_connection_close(qc, quic_err_transport(QC_ERR_PROTOCOL_VIOLATION));
984-
goto leave;
984+
goto err;
985985
}
986986

987987
qc->state = QUIC_HS_ST_CONFIRMED;
@@ -1020,10 +1020,12 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
10201020
}
10211021
}
10221022

1023-
ret = 1;
1024-
leave:
10251023
TRACE_LEAVE(QUIC_EV_CONN_PRSHPKT, qc);
1026-
return ret;
1024+
return 1;
1025+
1026+
err:
1027+
TRACE_DEVEL("leaving on error", QUIC_EV_CONN_PRSHPKT, qc);
1028+
return 0;
10271029
}
10281030

10291031
/* Detect the value of the spin bit to be used. */

0 commit comments

Comments
 (0)