--- libaitrpc/src/srv.c 2011/07/14 01:37:02 1.2.2.3 +++ libaitrpc/src/srv.c 2011/07/14 01:52:48 1.2.2.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.2.2.3 2011/07/14 01:37:02 misho Exp $ +* $Id: srv.c,v 1.2.2.4 2011/07/14 01:52:48 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -52,7 +52,7 @@ rpc_srv_dispatchCall(void *arg) rpc_cli_t *c = arg; rpc_srv_t *s; rpc_val_t *vals = NULL, *v = NULL; - rpc_func_t *f; + rpc_func_t *f = NULL; struct tagRPCCall *rpc; struct tagRPCRet *rrpc; fd_set fds; @@ -173,7 +173,7 @@ makeReply: if (argc * sizeof(rpc_val_t) > BUFSIZ - Limit) { for (i = 0; i < argc; i++) RPC_FREE_VAL(&vals[i]); - free(vals); + rpc_srv_freeValsCall(f); vals = NULL; argc = 0; ret = -7; @@ -222,8 +222,9 @@ makeReply: RPC_FREE_VAL(&vals[i]); } - free(vals); + rpc_srv_freeValsCall(f); vals = NULL; + argc = 0; } if ((ret = send(c->cli_sock, buf, Limit, 0)) == -1) {