qemu: Check for negative port values in network drive configuration

We interpret port values as signed int (convert them from char *),
so if a negative value is provided in network disk's configuration,
we accept it as valid, however there's an 'unknown cause' error raised later.
This error is only accidental because we return the port value in the return code.
This patch adds just a minor tweak to the already existing check so we
reject negative values the same way as we reject non-numerical strings.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1163553
This commit is contained in:
Erik Skultety 2015-02-19 16:53:13 +01:00
parent 043c660e31
commit 8464616526

View File

@ -3003,7 +3003,7 @@ qemuNetworkDriveGetPort(int protocol,
int ret = 0;
if (port) {
if (virStrToLong_i(port, NULL, 10, &ret) < 0) {
if (virStrToLong_i(port, NULL, 10, &ret) < 0 || ret < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("failed to parse port number '%s'"),
port);