--- libaitrpc/src/lists.c 2010/07/08 07:16:36 1.1.2.7 +++ libaitrpc/src/lists.c 2011/03/15 16:48:31 1.1.2.9 @@ -62,6 +62,7 @@ rpc_srv_declValsCall(rpc_func_t * __restrict call, int ptr = realloc(call->func_vals, return_vals * sizeof(rpc_val_t)); if (!ptr) { LOGERR; + call->func_args = 0; return -1; } else call->func_vals = ptr; @@ -311,10 +312,12 @@ rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v return NULL; } + pthread_mutex_lock(&srv->srv_blob.mtx); for (b = srv->srv_blob.blobs; b; b = b->blob_next) { if (b->blob_var == var) break; } + pthread_mutex_unlock(&srv->srv_blob.mtx); return b; }