diff options
Diffstat (limited to 'src/lib/rpc/svc_raw.c')
-rw-r--r-- | src/lib/rpc/svc_raw.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/rpc/svc_raw.c b/src/lib/rpc/svc_raw.c index e5d9667..23ff889 100644 --- a/src/lib/rpc/svc_raw.c +++ b/src/lib/rpc/svc_raw.c @@ -141,7 +141,11 @@ svcraw_getargs(xprt, xdr_args, args_ptr) if (srp == 0) return (FALSE); - return ((*xdr_args)(&srp->xdr_stream, args_ptr)); + if (! (*xdr_args)(&srp->xdr_stream, args_ptr)) { + (void)svcraw_freeargs(xprt, xdr_args, args_ptr); + return FALSE; + } + return TRUE; } static bool_t |