From 29ff997a3f1871e77ca89d70be81feaebf99d7db Mon Sep 17 00:00:00 2001 From: bol-van Date: Thu, 9 Jan 2025 18:56:01 +0300 Subject: [PATCH] nfqws,tpws: remove null pointer checks before free() --- nfq/conntrack.c | 14 ++++---------- nfq/gzip.c | 7 ++----- nfq/pools.c | 6 +++--- tpws/gzip.c | 7 ++----- tpws/pools.c | 6 +++--- tpws/sec.h | 1 + tpws/tpws_conn.c | 11 ++++------- 7 files changed, 19 insertions(+), 33 deletions(-) diff --git a/nfq/conntrack.c b/nfq/conntrack.c index 22b82dd..594717f 100644 --- a/nfq/conntrack.c +++ b/nfq/conntrack.c @@ -27,11 +27,8 @@ static void connswap(const t_conn *c, t_conn *c2) void ConntrackClearHostname(t_ctrack *track) { - if (track->hostname) - { - free(track->hostname); - track->hostname = NULL; - } + free(track->hostname); + track->hostname = NULL; } static void ConntrackClearTrack(t_ctrack *track) { @@ -349,11 +346,8 @@ void ConntrackPoolDump(const t_conntrack *p) void ReasmClear(t_reassemble *reasm) { - if (reasm->packet) - { - free(reasm->packet); - reasm->packet = NULL; - } + free(reasm->packet); + reasm->packet = NULL; reasm->size = reasm->size_present = 0; } bool ReasmInit(t_reassemble *reasm, size_t size_requested, uint32_t seq_start) diff --git a/nfq/gzip.c b/nfq/gzip.c index cb46670..a3e4eb7 100644 --- a/nfq/gzip.c +++ b/nfq/gzip.c @@ -65,11 +65,8 @@ int z_readfile(FILE *F, char **buf, size_t *size) zerr: inflateEnd(&zs); - if (*buf) - { - free(*buf); - *buf = NULL; - } + free(*buf); + *buf = NULL; return r; } diff --git a/nfq/pools.c b/nfq/pools.c index 4e96412..abb82d8 100644 --- a/nfq/pools.c +++ b/nfq/pools.c @@ -139,7 +139,7 @@ bool strlist_add(struct str_list_head *head, const char *filename) } static void strlist_entry_destroy(struct str_list *entry) { - if (entry->str) free(entry->str); + free(entry->str); free(entry); } void strlist_destroy(struct str_list_head *head) @@ -178,7 +178,7 @@ struct hostlist_file *hostlist_files_add(struct hostlist_files_head *head, const } static void hostlist_files_entry_destroy(struct hostlist_file *entry) { - if (entry->filename) free(entry->filename); + free(entry->filename); StrPoolDestroy(&entry->hostlist); free(entry); } @@ -392,7 +392,7 @@ struct ipset_file *ipset_files_add(struct ipset_files_head *head, const char *fi } static void ipset_files_entry_destroy(struct ipset_file *entry) { - if (entry->filename) free(entry->filename); + free(entry->filename); ipsetDestroy(&entry->ipset); free(entry); } diff --git a/tpws/gzip.c b/tpws/gzip.c index cb46670..a3e4eb7 100644 --- a/tpws/gzip.c +++ b/tpws/gzip.c @@ -65,11 +65,8 @@ int z_readfile(FILE *F, char **buf, size_t *size) zerr: inflateEnd(&zs); - if (*buf) - { - free(*buf); - *buf = NULL; - } + free(*buf); + *buf = NULL; return r; } diff --git a/tpws/pools.c b/tpws/pools.c index 8e8c710..631a251 100644 --- a/tpws/pools.c +++ b/tpws/pools.c @@ -139,7 +139,7 @@ bool strlist_add(struct str_list_head *head, const char *filename) } static void strlist_entry_destroy(struct str_list *entry) { - if (entry->str) free(entry->str); + free(entry->str); free(entry); } void strlist_destroy(struct str_list_head *head) @@ -177,7 +177,7 @@ struct hostlist_file *hostlist_files_add(struct hostlist_files_head *head, const } static void hostlist_files_entry_destroy(struct hostlist_file *entry) { - if (entry->filename) free(entry->filename); + free(entry->filename); StrPoolDestroy(&entry->hostlist); free(entry); } @@ -391,7 +391,7 @@ struct ipset_file *ipset_files_add(struct ipset_files_head *head, const char *fi } static void ipset_files_entry_destroy(struct ipset_file *entry) { - if (entry->filename) free(entry->filename); + free(entry->filename); ipsetDestroy(&entry->ipset); free(entry); } diff --git a/tpws/sec.h b/tpws/sec.h index 963d947..1724fe0 100644 --- a/tpws/sec.h +++ b/tpws/sec.h @@ -1,6 +1,7 @@ #pragma once #include "params.h" +#include "linux_compat.h" #include #include diff --git a/tpws/tpws_conn.c b/tpws/tpws_conn.c index b4056ee..e30bd1a 100644 --- a/tpws/tpws_conn.c +++ b/tpws/tpws_conn.c @@ -169,11 +169,8 @@ static bool send_buffer_realloc(send_buffer_t *sb, size_t extra_bytes) static void send_buffer_free(send_buffer_t *sb) { - if (sb->data) - { - free(sb->data); - sb->data = NULL; - } + free(sb->data); + sb->data = NULL; } static void send_buffers_free(send_buffer_t *sb_array, int count) { @@ -520,7 +517,7 @@ static void free_conn(tproxy_conn_t *conn) } conn_free_buffers(conn); if (conn->partner) conn->partner->partner=NULL; - if (conn->track.hostname) free(conn->track.hostname); + free(conn->track.hostname); if (conn->socks_ri) conn->socks_ri->ptr = NULL; // detach conn free(conn); } @@ -1762,7 +1759,7 @@ int event_loop(const int *listen_fd, size_t listen_fd_ct) ex: if (efd) close(efd); - if (listen_conn) free(listen_conn); + free(listen_conn); resolver_deinit(); if (resolve_pipe[0]) close(resolve_pipe[0]); if (resolve_pipe[1]) close(resolve_pipe[1]);