1.1 --- a/whelk/wait.c Tue Aug 18 14:11:42 2009 +0100
1.2 +++ b/whelk/wait.c Wed Aug 26 22:34:27 2009 +0100
1.3 @@ -5,7 +5,7 @@
1.4 int whelk_wait_add_object(struct whelk_wait *wait,HANDLE object)
1.5 {
1.6 HANDLE *new;
1.7 - new=realloc(wait->objects,wait->no_objects+1);
1.8 + new=realloc(wait->objects,(wait->no_objects+1)*sizeof(*wait->objects));
1.9 if (!new)
1.10 return -1;
1.11 wait->objects=new;
1.12 @@ -19,6 +19,8 @@
1.13 for(i=0;i<wait->no_objects;i++)
1.14 if (wait->objects[i]==object)
1.15 break;
1.16 + if (i==wait->no_objects)
1.17 + return;
1.18 if (i!=wait->no_objects-1)
1.19 memcpy(wait->objects+i,wait->objects+i+1,
1.20 (wait->no_objects-i-1)*sizeof(*wait->objects));
1.21 @@ -44,4 +46,5 @@
1.22 void whelk_wait_free(struct whelk_wait *wait)
1.23 {
1.24 free(wait->objects);
1.25 + wait->objects=NULL;
1.26 }