[libtirpc] fixing infinite loop in autherr

refreshes if not static was causing infinite recursive calling.
This commit is contained in:
U-fast\aglo 2011-06-14 11:33:03 -04:00 committed by unknown
parent 49890fe1b1
commit 6a9a9bb932

View file

@ -498,7 +498,7 @@ clnt_vc_call(cl, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)
u_int32_t x_id; u_int32_t x_id;
u_int32_t *msg_x_id = &ct->ct_u.ct_mcalli; /* yuk */ u_int32_t *msg_x_id = &ct->ct_u.ct_mcalli; /* yuk */
bool_t shipnow; bool_t shipnow;
int refreshes = 2; static int refreshes = 2;
u_int seq = -1; u_int seq = -1;
time_t start_send, time_now; time_t start_send, time_now;
#ifndef _WIN32 #ifndef _WIN32
@ -663,7 +663,7 @@ call_again:
&(ct->reply_msg.acpted_rply.ar_verf)); &(ct->reply_msg.acpted_rply.ar_verf));
} }
/* maybe our credentials need to be refreshed ... */ /* maybe our credentials need to be refreshed ... */
if (refreshes-- && AUTH_REFRESH(cl->cl_auth, &ct->reply_msg)) if (refreshes-- > 0 && AUTH_REFRESH(cl->cl_auth, &ct->reply_msg))
goto call_again; goto call_again;
} /* end of unsuccessful completion */ } /* end of unsuccessful completion */
ct->reply_msg.rm_direction = -1; ct->reply_msg.rm_direction = -1;