36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
From 1e00cd123044661fd4f921d1e7216ed9255bb3d1 Mon Sep 17 00:00:00 2001
|
|
From: "Dmitry V. Levin" <ldv@altlinux.org>
|
|
Date: Tue, 1 Feb 2022 08:46:40 -0500
|
|
Subject: [PATCH] rpcbind: fix double free in init_transport
|
|
|
|
$ rpcbind -h 127.0.0.1
|
|
free(): double free detected in tcache 2
|
|
Aborted
|
|
|
|
Fixes: a6889bba949b ("Removed resource leaks from src/rpcbind.c")
|
|
Resolves: https://sourceforge.net/p/rpcbind/bugs/6/
|
|
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
|
|
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
---
|
|
src/rpcbind.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/rpcbind.c b/src/rpcbind.c
|
|
index 25d8a90..ecebe97 100644
|
|
--- a/src/rpcbind.c
|
|
+++ b/src/rpcbind.c
|
|
@@ -552,8 +552,10 @@ init_transport(struct netconfig *nconf)
|
|
syslog(LOG_ERR, "cannot bind %s on %s: %m",
|
|
(hosts[nhostsbak] == NULL) ? "*" :
|
|
hosts[nhostsbak], nconf->nc_netid);
|
|
- if (res != NULL)
|
|
+ if (res != NULL) {
|
|
freeaddrinfo(res);
|
|
+ res = NULL;
|
|
+ }
|
|
continue;
|
|
} else
|
|
checkbind++;
|
|
--
|
|
1.8.3.1
|