Marcus Meissner
95f5f1cbd5
- Add 008-fix-undef-ref.patch to fix a undefined reference bug - Update to version 0.3.2 (bring authdes back) - Remove 005-no_IPv6_for_old_code.patch (accepted upstream) - Remove 001-tirpc-features.patch (obsolete) - Add 005-missing-symvers.patch (fix missing, new symbols) - Add 006-memleak1.patch (fix memory leak) - Add 007-memleak2.patch (fix memory leak) OBS-URL: https://build.opensuse.org/request/show/313578 OBS-URL: https://build.opensuse.org/package/show/Base:System/libtirpc?expand=0&rev=49
57 lines
1.7 KiB
Diff
57 lines
1.7 KiB
Diff
A rendezvouser socket is defined by a
|
|
xp_port value of (u_short)-1 which does
|
|
not work because xp_port is overwritten
|
|
by svc_com_create() and 65535 is a valid
|
|
port value.
|
|
|
|
To ensure actual connections get freed
|
|
properly in __svc_vc_dodestroy(), compare
|
|
the xp_recv value to rendezvous_request.
|
|
|
|
Reported-by: Michael Theall <mtheall@us.ibm.com>
|
|
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
---
|
|
src/svc_vc.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/svc_vc.c b/src/svc_vc.c
|
|
index 9824631..6848c09 100644
|
|
--- a/src/svc_vc.c
|
|
+++ b/src/svc_vc.c
|
|
@@ -392,6 +392,12 @@ svc_vc_destroy(xprt)
|
|
__svc_vc_dodestroy(xprt);
|
|
}
|
|
|
|
+static bool_t
|
|
+__svc_rendezvous_socket(xprt)
|
|
+ SVCXPRT *xprt;
|
|
+{
|
|
+ return (xprt->xp_ops->xp_recv == rendezvous_request);
|
|
+}
|
|
static void
|
|
__svc_vc_dodestroy(xprt)
|
|
SVCXPRT *xprt;
|
|
@@ -403,7 +409,7 @@ __svc_vc_dodestroy(xprt)
|
|
|
|
if (xprt->xp_fd != RPC_ANYFD)
|
|
(void)close(xprt->xp_fd);
|
|
- if (xprt->xp_port != 0) {
|
|
+ if (__svc_rendezvous_socket(xprt)) {
|
|
/* a rendezvouser socket */
|
|
r = (struct cf_rendezvous *)xprt->xp_p1;
|
|
mem_free(r, sizeof (struct cf_rendezvous));
|
|
--
|
|
2.4.3
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
Monitor 25 network devices or servers for free with OpManager!
|
|
OpManager is web-based network management software that monitors
|
|
network devices and physical & virtual servers, alerts via email & sms
|
|
for fault. Monitor 25 devices for free with no restriction. Download now
|
|
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
|
|
_______________________________________________
|
|
Libtirpc-devel mailing list
|
|
Libtirpc-devel@lists.sourceforge.net
|
|
https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
|