--- check_disk.c.old 2006-08-24 14:23:56.131294343 -0400 +++ check_disk.c 2006-08-24 14:25:19.000294237 -0400 @@ -339,6 +339,7 @@ process_arguments (int argc, char **argv return ERROR; se = (struct name_list *) malloc (sizeof (struct name_list)); + memset(se,0,sizeof(struct name_list)); se->name = strdup ("iso9660"); se->name_next = NULL; se->found = 0; @@ -456,6 +457,7 @@ process_arguments (int argc, char **argv break; case 'p': /* select path */ se = (struct name_list *) malloc (sizeof (struct name_list)); + memset(se,0,sizeof(struct name_list)); se->name = optarg; se->name_next = NULL; se->w_df = w_df; @@ -469,6 +471,7 @@ process_arguments (int argc, char **argv break; case 'x': /* exclude path or partition */ se = (struct name_list *) malloc (sizeof (struct name_list)); + memset(se,0,sizeof(struct name_list)); se->name = optarg; se->name_next = NULL; @@ -487,6 +490,7 @@ process_arguments (int argc, char **argv break; case 'X': /* exclude file system type */ se = (struct name_list *) malloc (sizeof (struct name_list)); + memset(se,0,sizeof(struct name_list)); se->name = optarg; se->name_next = NULL; /* If you don't clear the w_fd etc values here, they @@ -541,6 +545,7 @@ process_arguments (int argc, char **argv if (argc > c && path == NULL) { se = (struct name_list *) malloc (sizeof (struct name_list)); + memset(se,0,sizeof(struct name_list)); se->name = strdup (argv[c++]); se->name_next = NULL; se->w_df = w_df;