mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-07-15 13:42:36 +00:00
lxc-user-nic: handle failure in create_nic
Failures were being ignored, leading up to an eventual segfault. Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> Acked-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
parent
dc421f3aac
commit
a0566914c2
@ -286,13 +286,16 @@ out_del:
|
|||||||
* *dest will container the name (vethXXXXXX) which is attached
|
* *dest will container the name (vethXXXXXX) which is attached
|
||||||
* on the host to the lxc bridge
|
* on the host to the lxc bridge
|
||||||
*/
|
*/
|
||||||
static void get_new_nicname(char **dest, char *br, int pid, char **cnic)
|
static bool get_new_nicname(char **dest, char *br, int pid, char **cnic)
|
||||||
{
|
{
|
||||||
char template[IFNAMSIZ];
|
char template[IFNAMSIZ];
|
||||||
snprintf(template, sizeof(template), "vethXXXXXX");
|
snprintf(template, sizeof(template), "vethXXXXXX");
|
||||||
*dest = lxc_mkifname(template);
|
*dest = lxc_mkifname(template);
|
||||||
|
|
||||||
create_nic(*dest, br, pid, cnic);
|
if (!create_nic(*dest, br, pid, cnic)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool get_nic_from_line(char *p, char **nic)
|
static bool get_nic_from_line(char *p, char **nic)
|
||||||
@ -419,7 +422,8 @@ static bool get_nic_if_avail(int fd, char *me, int pid, char *intype, char *br,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
get_new_nicname(nicname, br, pid, cnic);
|
if (!get_new_nicname(nicname, br, pid, cnic))
|
||||||
|
return false;
|
||||||
/* me ' ' intype ' ' br ' ' *nicname + '\n' + '\0' */
|
/* me ' ' intype ' ' br ' ' *nicname + '\n' + '\0' */
|
||||||
slen = strlen(me) + strlen(intype) + strlen(br) + strlen(*nicname) + 5;
|
slen = strlen(me) + strlen(intype) + strlen(br) + strlen(*nicname) + 5;
|
||||||
newline = alloca(slen);
|
newline = alloca(slen);
|
||||||
|
Loading…
Reference in New Issue
Block a user