summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2019-03-29 11:43:13 +0100
committerJan Kara <jack@suse.cz>2019-03-29 11:43:13 +0100
commit24e2affaba425279b0957534bec1ea7d3f842fa2 (patch)
tree8ea0946d9cc5efe2742e7531f0b4089f079ce6a6
parent606d9b8a5debcc520d872e11d980e79494cf91d7 (diff)
downloadquota-tools-24e2affaba425279b0957534bec1ea7d3f842fa2.tar.gz
Use getrpcbynumber() instead of getrpcbynumber_r()
Quota is not multithreaded so it does not have to use thread-safe function variants. Furthermore some clone of libtirpc reportedly does not implement the reentrant function getrpcbynumber_r(). So just avoid using it. Reported-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--svc_socket.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/svc_socket.c b/svc_socket.c
index d2e3abf..6da5871 100644
--- a/svc_socket.c
+++ b/svc_socket.c
@@ -31,13 +31,13 @@
static int get_service_port(u_long number, const char *proto)
{
- char rpcdata [1024], servdata [1024];
- struct rpcent rpcbuf, *rpcp = NULL;
+ char servdata [1024];
+ struct rpcent *rpcp = NULL;
struct servent servbuf, *servp = NULL;
int ret;
- ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp);
- if (ret == 0 && rpcp != NULL) {
+ rpcp = getrpcbynumber(number);
+ if (rpcp != NULL) {
/* First try name */
ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata,
sizeof servdata, &servp);