mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
Bug #1810: One more dynamic_cast check.
This one was safe because the OS attribute must be a vector, it is enforced by VirtualMachine::parse_os
This commit is contained in:
parent
63ef494d6f
commit
5e4f93432c
@ -509,29 +509,48 @@ void TransferManager::prolog_action(int vid)
|
||||
|
||||
if ( num > 0 )
|
||||
{
|
||||
string kernel;
|
||||
string initrd;
|
||||
|
||||
bool update = false;
|
||||
|
||||
const VectorAttribute * os_attr;
|
||||
|
||||
os_attr = dynamic_cast<const VectorAttribute *>(attrs[0]);
|
||||
|
||||
string kernel = prolog_os_transfer_commands(vm,
|
||||
os_attr,
|
||||
"KERNEL",
|
||||
opennebula_hostname,
|
||||
xfr);
|
||||
if (os_attr != 0 )
|
||||
{
|
||||
kernel = prolog_os_transfer_commands(
|
||||
vm,
|
||||
os_attr,
|
||||
"KERNEL",
|
||||
opennebula_hostname,
|
||||
xfr);
|
||||
|
||||
initrd = prolog_os_transfer_commands(
|
||||
vm,
|
||||
os_attr,
|
||||
"initrd",
|
||||
opennebula_hostname,
|
||||
xfr);
|
||||
}
|
||||
|
||||
if ( !kernel.empty() )
|
||||
{
|
||||
vm->set_kernel(kernel);
|
||||
vmpool->update(vm);
|
||||
|
||||
update = true;
|
||||
}
|
||||
|
||||
string initrd = prolog_os_transfer_commands(vm,
|
||||
os_attr,
|
||||
"initrd",
|
||||
opennebula_hostname,
|
||||
xfr);
|
||||
if ( !initrd.empty() )
|
||||
{
|
||||
vm->set_initrd(initrd);
|
||||
|
||||
update = true;
|
||||
}
|
||||
|
||||
if ( update )
|
||||
{
|
||||
vmpool->update(vm);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user