mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 07:07:04 +02:00
BUILD: quic: Move an ASSUME_NONNULL() for variable which is not null
Some new compilers warn that <oldest_lost> variable can be null even this cannot be the case as mentioned by the comment about an already present ASSUME_NONNULL() call comment as follows: src/quic_loss.c: In function ‘qc_release_lost_pkts’: src/quic_loss.c:307:86: error: potential null pointer dereference [-Werror=null-dereference] 307 | unsigned int period = newest_lost->time_sent_ms - oldest_lost->time_sent_ms; | ~~~~~~~~~~~^~~~~~~~~~~~~~ Move up this ASSUME_NONNULL() statement to please these compiler. Must be backported as far as 2.6 to easy any further backport around this code part.
This commit is contained in:
parent
4f38c4bfd8
commit
1f099db7e2
@ -283,6 +283,12 @@ int qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,
|
||||
tot_lost++;
|
||||
}
|
||||
|
||||
/* <oldest_lost> cannot be NULL at this stage because we have ensured
|
||||
* that <pkts> list is not empty. Without this, GCC 12.2.0 reports a
|
||||
* possible overflow on a 0 byte region with O2 optimization.
|
||||
*/
|
||||
ASSUME_NONNULL(oldest_lost);
|
||||
|
||||
if (!close) {
|
||||
if (newest_lost) {
|
||||
struct quic_cc *cc = &qc->path->cc;
|
||||
@ -313,11 +319,6 @@ int qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,
|
||||
}
|
||||
}
|
||||
|
||||
/* <oldest_lost> cannot be NULL at this stage because we have ensured
|
||||
* that <pkts> list is not empty. Without this, GCC 12.2.0 reports a
|
||||
* possible overflow on a 0 byte region with O2 optimization.
|
||||
*/
|
||||
ASSUME_NONNULL(oldest_lost);
|
||||
quic_tx_packet_refdec(oldest_lost);
|
||||
if (newest_lost != oldest_lost)
|
||||
quic_tx_packet_refdec(newest_lost);
|
||||
|
Loading…
Reference in New Issue
Block a user