The container with "lxc.network.type=phys" halted with error on reboot.
Error message:
*** glibc detected *** lxc-start: realloc(): invalid pointer: 0x0948eed0 ***
We have a sequence:
1) conf->saved_nic = relloc(NULL) on start start.c:container save_phys_nics()
2) free(conf->saved_nics) after stop container
conf.c:lxc_rename_phys_nics_on_shutdown()
3) conf->saved_nic = relloc(conf->saved_nics) on restart container
start.c:save_phys_nics() -> error relloc()
free(conf->saved_nics) in lxc_rename_phys_nics_on_shutdown()
unnecessary, it will be called later in lxc_clear_saved_nics().
Signed-off-by: Vitaly Lavrov <vel21ripn@gmail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
free(s->orig_name);
}
conf->num_savednics = 0;
- free(conf->saved_nics);
}
static char *default_rootfs_mount = LXCROOTFSMOUNT;
{
int i;
- if (!conf->num_savednics)
+ if (!conf->saved_nics)
return;
for (i=0; i < conf->num_savednics; i++)
free(conf->saved_nics[i].orig_name);
- conf->saved_nics = 0;
free(conf->saved_nics);
}