> > ncpu = 1; > > > > - cp_id = malloc(sizeof(cp_id[0]) * ncpu); > > Where is the removal of the corresponding free() ? never was one to begin this; this data was used from start to end. .mrg.