int whelk_wait_add_object(struct whelk_wait *wait,HANDLE object)
{
HANDLE *new;
- new=realloc(wait->objects,wait->no_objects+1);
+ new=realloc(wait->objects,(wait->no_objects+1)*sizeof(*wait->objects));
if (!new)
return -1;
wait->objects=new;
for(i=0;i<wait->no_objects;i++)
if (wait->objects[i]==object)
break;
+ if (i==wait->no_objects)
+ return;
if (i!=wait->no_objects-1)
memcpy(wait->objects+i,wait->objects+i+1,
(wait->no_objects-i-1)*sizeof(*wait->objects));
void whelk_wait_free(struct whelk_wait *wait)
{
free(wait->objects);
+ wait->objects=NULL;
}