fix: add more guard

This commit is contained in:
Zxilly 2025-03-06 16:44:08 +08:00
parent 8da0500a11
commit 22d3f33687

View File

@ -289,10 +289,22 @@ void handle_packet(const struct nf_queue *queue, const struct nf_packet *pkt) {
char msg[300];
if (type == IPV4) {
syslog(LOG_WARNING, "Failed to set ipv4 transport header.");
nfq_ip_snprintf(msg, sizeof(msg), nfq_ip_get_hdr(pkt_buff));
const __auto_type ip_hdr = nfq_ip_get_hdr(pkt_buff);
if (ip_hdr != NULL) {
nfq_ip_snprintf(msg, sizeof(msg), ip_hdr);
} else {
syslog(LOG_WARNING, "Failed to get ipv4 ip header");
goto end;
}
} else {
syslog(LOG_WARNING, "Failed to set ipv6 transport header.");
nfq_ip6_snprintf(msg, sizeof(msg), nfq_ip6_get_hdr(pkt_buff));
const __auto_type ip_hdr = nfq_ip6_get_hdr(pkt_buff);
if (ip_hdr != NULL) {
nfq_ip6_snprintf(msg, sizeof(msg), ip_hdr);
} else {
syslog(LOG_WARNING, "Failed to get ipv6 ip header");
goto end;
}
}
syslog(LOG_WARNING, "Header: %s", msg);
goto end;
@ -392,9 +404,7 @@ void handle_packet(const struct nf_queue *queue, const struct nf_packet *pkt) {
send_verdict(queue, pkt, get_next_mark(pkt, has_ua), pkt_buff);
end:
if (pkt->payload != NULL) {
free(pkt->payload);
}
free(pkt->payload);
if (pkt_buff != NULL) {
pktb_free(pkt_buff);
}