mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 13:05:27 +00:00
network: log error for unknown virNetworkUpdate command codes
Every level of the code for virNetworkUpdate was assuming that some other level was checking for validity of the "command" arg, but none actually were. The result was that an invalid command code would do nothing, but also report success. Since the command code isn't used until the very lowest level backend functions, that's where I put the check. I made a separate one-line function to log the error. The compiler would have combined the identical strings used by multiple calls if I'd just called virReportError directly in each location, but sending them all to the same string in the source guards against inadvertant divergence (which would lead to extra work for translators.)
This commit is contained in:
parent
f59e25e012
commit
5cdcb75d45
@ -2260,6 +2260,12 @@ virNetworkDefUpdateNoSupport(virNetworkDefPtr def, const char *section)
|
||||
_("can't update '%s' section of network '%s'"),
|
||||
section, def->name);
|
||||
}
|
||||
static void
|
||||
virNetworkDefUpdateUnknownCommand(unsigned int command)
|
||||
{
|
||||
virReportError(VIR_ERR_NO_SUPPORT,
|
||||
_("unrecognized network update command code %d"), command);
|
||||
}
|
||||
|
||||
static int
|
||||
virNetworkDefUpdateCheckElementName(virNetworkDefPtr def,
|
||||
@ -2484,6 +2490,9 @@ virNetworkDefUpdateIPDHCPHost(virNetworkDefPtr def,
|
||||
sizeof(*ipdef->hosts) * (ipdef->nhosts - ii - 1));
|
||||
ipdef->nhosts--;
|
||||
ignore_value(VIR_REALLOC_N(ipdef->hosts, ipdef->nhosts));
|
||||
} else {
|
||||
virNetworkDefUpdateUnknownCommand(command);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -2581,6 +2590,9 @@ virNetworkDefUpdateIPDHCPRange(virNetworkDefPtr def,
|
||||
sizeof(*ipdef->ranges) * (ipdef->nranges - ii - 1));
|
||||
ipdef->nranges--;
|
||||
ignore_value(VIR_REALLOC_N(ipdef->ranges, ipdef->nranges));
|
||||
} else {
|
||||
virNetworkDefUpdateUnknownCommand(command);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -2701,6 +2713,9 @@ virNetworkDefUpdatePortGroup(virNetworkDefPtr def,
|
||||
sizeof(*def->portGroups) * (def->nPortGroups - ii - 1));
|
||||
def->nPortGroups--;
|
||||
ignore_value(VIR_REALLOC_N(def->portGroups, def->nPortGroups));
|
||||
} else {
|
||||
virNetworkDefUpdateUnknownCommand(command);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user