diff -r 24d804a2799f -r 34aa8001ea53 src/server/object.c --- a/src/server/object.c Fri Dec 30 15:19:16 2011 +0100 +++ b/src/server/object.c Fri Dec 30 17:50:05 2011 +0100 @@ -58,7 +58,17 @@ void object_add_directive(httpd_object *obj, directive *dir, int dt) { dtable *l = object_get_dtable(obj, dt); // allocate space for the new directive - l->dirs = realloc(l->dirs, (l->ndir+1)*sizeof(directive*)); + + l->dirs = realloc(l->dirs, (l->ndir+1)*sizeof(void*)); + /* TODO: aus irgend einem Grund funktioniert realloc nicht. warum?? */ + + directive **drs = malloc((l->ndir+1)*sizeof(void*)); + for(int i=0;indir;i++) { + drs[i] = l->dirs[i]; + } + free(l->dirs); + l->dirs = drs; + // add directive l->dirs[l->ndir] = dir; l->ndir++;