diff mbox

migrate: Fix bounds check for migration parameters in migration.c

Message ID 1473448442-29510-1-git-send-email-ashijeetacharya@gmail.com
State New
Headers show

Commit Message

Ashijeet Acharya Sept. 9, 2016, 7:14 p.m. UTC
This patch fixes the out-of-bounds check migration parameters in
qmp_migrate_set_parameters() for cpu-throttle-initial and
cpu-throttle-increment by adding a return statement for both.
Due to the missing return statements, parmaters were getting set to
out-of-bounds values despite the error.

Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com>
---
 migration/migration.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Eric Blake Sept. 9, 2016, 8:14 p.m. UTC | #1
On 09/09/2016 02:14 PM, Ashijeet Acharya wrote:
> This patch fixes the out-of-bounds check migration parameters in
> qmp_migrate_set_parameters() for cpu-throttle-initial and
> cpu-throttle-increment by adding a return statement for both.
> Due to the missing return statements, parmaters were getting set to

s/parmaters/parameters/

> out-of-bounds values despite the error.
> 
> Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com>
> ---
>  migration/migration.c | 2 ++
>  1 file changed, 2 insertions(+)

Broken since their introduction in 2.5 via commit 1626fee.

Reviewed-by: Eric Blake <eblake@redhat.com>

Probably worth backporting to stable branches.
Amit Shah Sept. 13, 2016, 8:39 a.m. UTC | #2
On (Sat) 10 Sep 2016 [00:44:02], Ashijeet Acharya wrote:
> This patch fixes the out-of-bounds check migration parameters in
> qmp_migrate_set_parameters() for cpu-throttle-initial and
> cpu-throttle-increment by adding a return statement for both.
> Due to the missing return statements, parmaters were getting set to
> out-of-bounds values despite the error.
> 
> Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com>

Reviewed-by: Amit Shah <amit.shah@redhat.com>

		Amit
diff mbox

Patch

diff --git a/migration/migration.c b/migration/migration.c
index 9b4aa55..cd8334c 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -805,6 +805,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 ||
@@ -812,6 +813,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_max_bandwidth &&
         (params->max_bandwidth < 0 || params->max_bandwidth > SIZE_MAX)) {