From eb8c635b318632e51109c8edf5df47171aeef202 Mon Sep 17 00:00:00 2001 From: Vchanger Date: Sat, 12 Jul 2025 14:59:40 +0800 Subject: [PATCH] Fix some resource leak and oob issues --- src/common/tc_loader.c | 2 +- src/ingress/ingress.c | 2 +- src/lib/imdb/container_cache.c | 1 + src/lib/probe/snooper.c | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/tc_loader.c b/src/common/tc_loader.c index a5a5edd3..52960612 100644 --- a/src/common/tc_loader.c +++ b/src/common/tc_loader.c @@ -63,7 +63,7 @@ static int excute_cmd(const char *format, ...) va_start(args, format); ret = vsnprintf(g_cmdBuf, MAX_CMD_LEN, format, args); va_end(args); - if (ret < 0) { + if (ret < 0 || ret >= MAX_CMD_LEN) { return TC_ERR; } diff --git a/src/ingress/ingress.c b/src/ingress/ingress.c index 5f0fa93a..cbd66d46 100644 --- a/src/ingress/ingress.c +++ b/src/ingress/ingress.c @@ -40,7 +40,7 @@ void IngressMgrDestroy(IngressMgr *mgr) return; } - if (mgr->epoll_fd > 0) { + if (mgr->epoll_fd >= 0) { close(mgr->epoll_fd); } free(mgr); diff --git a/src/lib/imdb/container_cache.c b/src/lib/imdb/container_cache.c index 5c6e3e30..ba96a09f 100644 --- a/src/lib/imdb/container_cache.c +++ b/src/lib/imdb/container_cache.c @@ -155,6 +155,7 @@ static void fill_pod_info(struct pod_cache *pod_cache, const char *container_id) } struct key_value_pairs *kv_pairs = Json_GetKeyValuePairs(pod_labels_json); if (!kv_pairs) { + Json_Delete(pod_labels_json); return; } struct key_value *kv; diff --git a/src/lib/probe/snooper.c b/src/lib/probe/snooper.c index 0fd6431a..5eb1b5f2 100644 --- a/src/lib/probe/snooper.c +++ b/src/lib/probe/snooper.c @@ -570,6 +570,7 @@ static int parse_snooper_procname(struct probe_s *probe, const void *json) ret = add_snooper_conf_procname(probe, (const char *)comm, (const char *)cmdline, (const char *)dbgdir, label); if (ret != 0) { + free_custom_labels(label, PROC_CUSTOM_LABELS_NUM); return -1; } } -- Gitee