kvm: irqchip: fix memory leak

We were taking the exit path after checking ue->flags and return value
of setup_routing_entry(), but 'e' was not freed incase of a failure.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Sudip Mukherjee
2015-09-02 12:33:53 +05:30
committed by Paolo Bonzini
parent 3dfe6a5073
commit ba60c41ae3

View File

@@ -213,11 +213,15 @@ int kvm_set_irq_routing(struct kvm *kvm,
goto out; goto out;
r = -EINVAL; r = -EINVAL;
if (ue->flags) if (ue->flags) {
kfree(e);
goto out; goto out;
}
r = setup_routing_entry(new, e, ue); r = setup_routing_entry(new, e, ue);
if (r) if (r) {
kfree(e);
goto out; goto out;
}
++ue; ++ue;
} }