[dpdk-dev,1/1] net/cxgbe: check return value of malloc

Message ID 453363AE6316CC428D594009B784F9050335F159@SZXEMI508-MBS.china.huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail apply patch file failure

Commit Message

caihe March 25, 2017, 12:44 p.m. UTC
  Hi rahul,

There is a bug without check the return value of alloc memory in function t4_wr_mbox_meat_timeout, if we should fix it as below:


Best Regards
  

Comments

Rahul Lakkireddy March 27, 2017, 7:35 a.m. UTC | #1
On Saturday, March 03/25/17, 2017 at 18:14:29 +0530, caihe wrote:
>    Hi rahul,
> 
>    There is a bug without check the return value of alloc memory in function
>    t4_wr_mbox_meat_timeout, if we should fix it as below:
> 
>    diff --git a/drivers/net/cxgbe/base/t4_hw.c
>    b/drivers/net/cxgbe/base/t4_hw.c
>    index c089b06..7402a5f 100644
>    --- a/drivers/net/cxgbe/base/t4_hw.c
>    +++ b/drivers/net/cxgbe/base/t4_hw.c
>    @@ -359,6 +359,10 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int
>    mbox,
>            struct mbox_entry entry;
>            u32 pcie_fw = 0;
>     
>    +       if (!temp) {
>    +               return -ENOMEM;
>    +       }
>    +
>            if ((size & 15) || size > MBOX_LEN) {
>                    free(temp);
>                    return -EINVAL;
> 
>    Best Regards

Thanks for the fix!  However, there seem to be checkpatch issues with
the patch that need to be fixed.

http://dpdk.org/ml/archives/test-report/2017-March/015606.html

Thanks,
Rahul
  

Patch

diff --git a/drivers/net/cxgbe/base/t4_hw.c b/drivers/net/cxgbe/base/t4_hw.c
index c089b06..7402a5f 100644
--- a/drivers/net/cxgbe/base/t4_hw.c
+++ b/drivers/net/cxgbe/base/t4_hw.c
@@ -359,6 +359,10 @@  int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
        struct mbox_entry entry;
        u32 pcie_fw = 0;
 
+       if (!temp) {
+               return -ENOMEM;
+       }
+
        if ((size & 15) || size > MBOX_LEN) {
                free(temp);
                return -EINVAL;