]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Correct auth vector reference
authorNick Porter <nick@portercomputing.co.uk>
Thu, 25 Jan 2024 20:55:39 +0000 (20:55 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 25 Jan 2024 20:55:39 +0000 (20:55 +0000)
src/bin/radsniff.c

index cd6566c9610895544a2f89fe60e4ecbcb4f46607..e0158d3565c0a63f310ca165b5da6442f16e9dbc 100644 (file)
@@ -1259,6 +1259,8 @@ static rs_request_t *rs_request_alloc(TALLOC_CTX *ctx)
        return original;
 }
 
+static const uint8_t zeros[RADIUS_AUTH_VECTOR_LENGTH] = {};
+
 static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkthdr const *header, uint8_t const *data)
 {
        rs_stats_t              *stats = event->stats;
@@ -1492,7 +1494,8 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt
 
                        ret = fr_radius_decode_simple(packet, &decoded,
                                                      packet->data, packet->data_len,
-                                                     original ? original->expect->data + 4 : NULL,
+                                                     (original && original->expect && original->expect->data) ?
+                                                       original->expect->data + 4 : zeros,
                                                      conf->radius_secret);
                        if (ret < 0) {
                                fr_radius_packet_free(&packet);         /* Also frees vps */