--- modules/vfs_netatalk.c.orig Mon Mar 22 21:35:01 2004 +++ modules/vfs_netatalk.c Mon Mar 22 22:01:10 2004 @@ -126,8 +126,7 @@ static void atalk_add_to_list(name_compa } } - if (!(new_list = calloc(1, - (count == 0 ? 1 : count + 1) * sizeof(name_compare_entry)))) + if (!(new_list = calloc(count+2,sizeof(name_compare_entry)))) return; for (i = 0; i < count; i ++) { @@ -138,7 +137,12 @@ static void atalk_add_to_list(name_compa new_list[i].name = strdup(APPLEDOUBLE); new_list[i].is_wild = False; - free_namearray(*list); + i++; + + new_list[i].name = NULL; + new_list[i].is_wild = False; + + free_namearray(cur_list); *list = new_list; new_list = 0;