diff mbox

s390x/pci: fix 2 bugs found by coverity

Message ID 1421248847-24237-1-git-send-email-blaschka@linux.vnet.ibm.com
State New
Headers show

Commit Message

Frank Blaschka Jan. 14, 2015, 3:20 p.m. UTC
Signed-off-by: Frank Blaschka <blaschka@linux.vnet.ibm.com>
---
 hw/s390x/s390-pci-bus.c  | 1 +
 hw/s390x/s390-pci-inst.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Thomas Huth Jan. 14, 2015, 4:59 p.m. UTC | #1
On Wed, 14 Jan 2015 16:20:47 +0100
Frank Blaschka <blaschka@linux.vnet.ibm.com> wrote:

> Signed-off-by: Frank Blaschka <blaschka@linux.vnet.ibm.com>
> ---
>  hw/s390x/s390-pci-bus.c  | 1 +
>  hw/s390x/s390-pci-inst.c | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index 1201b8d..546dcf1 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -192,6 +192,7 @@ static void s390_pci_generate_event(uint8_t cc, uint16_t pec, uint32_t fh,
>          object_resolve_path(TYPE_S390_PCI_HOST_BRIDGE, NULL));
> 
>      if (!s) {
> +        g_free(sei_cont);
>          return;
>      }
> 
> diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
> index 5ea13e5..5596679 100644
> --- a/hw/s390x/s390-pci-inst.c
> +++ b/hw/s390x/s390-pci-inst.c
> @@ -787,7 +787,7 @@ int stpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba)
>      data = (pbdev->isc << 28) | (pbdev->noi << 16) |
>             (pbdev->routes.adapter.ind_offset << 8) | (pbdev->sum << 7) |
>             pbdev->routes.adapter.summary_offset;
> -    stw_p(&fib.data, data);
> +    stl_p(&fib.data, data);
> 
>      if (pbdev->fh >> ENABLE_BIT_OFFSET) {
>          fib.fc |= 0x80;

Looks right.

Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Cornelia Huck Jan. 16, 2015, 9:21 a.m. UTC | #2
On Wed, 14 Jan 2015 16:20:47 +0100
Frank Blaschka <blaschka@linux.vnet.ibm.com> wrote:

> Signed-off-by: Frank Blaschka <blaschka@linux.vnet.ibm.com>
> ---
>  hw/s390x/s390-pci-bus.c  | 1 +
>  hw/s390x/s390-pci-inst.c | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)

Applied with a slightly tweaked description:

s390x/pci: fix two bugs found by coverity
    
Fix a resource leak and a store with the wrong length.
    
Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
diff mbox

Patch

diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 1201b8d..546dcf1 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -192,6 +192,7 @@  static void s390_pci_generate_event(uint8_t cc, uint16_t pec, uint32_t fh,
         object_resolve_path(TYPE_S390_PCI_HOST_BRIDGE, NULL));
 
     if (!s) {
+        g_free(sei_cont);
         return;
     }
 
diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index 5ea13e5..5596679 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -787,7 +787,7 @@  int stpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba)
     data = (pbdev->isc << 28) | (pbdev->noi << 16) |
            (pbdev->routes.adapter.ind_offset << 8) | (pbdev->sum << 7) |
            pbdev->routes.adapter.summary_offset;
-    stw_p(&fib.data, data);
+    stl_p(&fib.data, data);
 
     if (pbdev->fh >> ENABLE_BIT_OFFSET) {
         fib.fc |= 0x80;