From dbc530390970cb3f07dbc9d97710d11276e88394 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 31 Mar 2026 17:40:03 +0200 Subject: [PATCH] shared: make dns_packet_read_uint{8,32} accept NULL ret The shared/ dns_packet_read_uint*() functions used to be a bit inconsistent when it comes to the handling of NULL in *ret. The helpers dns_packet_read_{uint16,name} accepted NULL but the dns_packet_read_uint{8,32} did not. This commit makes them all symmetric in accepting NULL. --- src/shared/dns-packet.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/shared/dns-packet.c b/src/shared/dns-packet.c index 70844c22f7..f8078c1211 100644 --- a/src/shared/dns-packet.c +++ b/src/shared/dns-packet.c @@ -1468,13 +1468,14 @@ int dns_packet_read_uint8(DnsPacket *p, uint8_t *ret, size_t *start) { int r; assert(p); - assert(ret); r = dns_packet_read(p, sizeof(uint8_t), &d, start); if (r < 0) return r; - *ret = ((uint8_t*) d)[0]; + if (ret) + *ret = ((uint8_t*) d)[0]; + return 0; } @@ -1499,13 +1500,13 @@ int dns_packet_read_uint32(DnsPacket *p, uint32_t *ret, size_t *start) { int r; assert(p); - assert(ret); r = dns_packet_read(p, sizeof(uint32_t), &d, start); if (r < 0) return r; - *ret = unaligned_read_be32(d); + if (ret) + *ret = unaligned_read_be32(d); return 0; }