diff options
author | Jan Kara <jack@suse.cz> | 2019-03-29 11:43:13 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-03-29 11:43:13 +0100 |
commit | 24e2affaba425279b0957534bec1ea7d3f842fa2 (patch) | |
tree | 8ea0946d9cc5efe2742e7531f0b4089f079ce6a6 | |
parent | 606d9b8a5debcc520d872e11d980e79494cf91d7 (diff) | |
download | quota-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.c | 8 |
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); |