Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
libtirpc
libtirpc-0.1.9-0010-Fix-__rpc_getconfip.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libtirpc-0.1.9-0010-Fix-__rpc_getconfip.patch of Package libtirpc
From d9a5ae7079d001a9e3b9b384f9153f591a7158bd Mon Sep 17 00:00:00 2001 From: Olaf Kirch <okir@suse.de> Date: Tue, 30 Sep 2008 15:10:43 -0400 Subject: [PATCH] Fix __rpc_getconfip __rpc_getconfip is supposed to return the first netconf entry supporting tcp or udp, respectively. The code will currently return the *last* entry, plus it will leak memory when there is more than one such entry. This patch fixes this issue. Signed-off-by: Olaf Kirch <okir@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com> --- src/rpc_generic.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rpc_generic.c b/src/rpc_generic.c index 9ada668..3aad018 100644 --- a/src/rpc_generic.c +++ b/src/rpc_generic.c @@ -254,12 +254,14 @@ __rpc_getconfip(nettype) while ((nconf = getnetconfig(confighandle)) != NULL) { if (strcmp(nconf->nc_protofmly, NC_INET) == 0 || strcmp(nconf->nc_protofmly, NC_INET6) == 0) { - if (strcmp(nconf->nc_proto, NC_TCP) == 0) { + if (strcmp(nconf->nc_proto, NC_TCP) == 0 && + netid_tcp == NULL) { netid_tcp = strdup(nconf->nc_netid); thr_setspecific(tcp_key, (void *) netid_tcp); } else - if (strcmp(nconf->nc_proto, NC_UDP) == 0) { + if (strcmp(nconf->nc_proto, NC_UDP) == 0 && + netid_udp == NULL) { netid_udp = strdup(nconf->nc_netid); thr_setspecific(udp_key, (void *) netid_udp); -- 1.5.6
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor