OSDN Git Service

migrate: Fix bounds check for migration parameters in migration.c
authorAshijeet Acharya <ashijeetacharya@gmail.com>
Fri, 9 Sep 2016 21:13:17 +0000 (02:43 +0530)
committerJuan Quintela <quintela@trasno.org>
Thu, 13 Oct 2016 15:23:53 +0000 (17:23 +0200)
This patch fixes the out-of-bounds check of migration parameters in
qmp_migrate_set_parameters() for cpu-throttle-initial and
cpu-throttle-increment by adding a return statement for both as they
were broken since their introduction in 2.5 via commit 1626fee.
Due to the missing return statements, parameters were getting set to
out-of-bounds values despite the error.

Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Amit Shah <amit.shah@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
migration/migration.c

index 42336e3..04b706f 100644 (file)
@@ -796,6 +796,7 @@ void qmp_migrate_set_parameters(MigrationParameters *params, Error **errp)
         error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
                    "cpu_throttle_initial",
                    "an integer in the range of 1 to 99");
+        return;
     }
     if (params->has_cpu_throttle_increment &&
         (params->cpu_throttle_increment < 1 ||
@@ -803,6 +804,7 @@ void qmp_migrate_set_parameters(MigrationParameters *params, Error **errp)
         error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
                    "cpu_throttle_increment",
                    "an integer in the range of 1 to 99");
+        return;
     }
 
     if (params->has_compress_level) {