Commit 1a07d4585b0497f54bf2d127e5fb8ba7cfa2958a

Authored by Peng Fan
Committed by guoyin.chen
1 parent bc26ac4615

common: miiphyutil: avoid memory leak

The following code will alloc memory for new_dev and ldev:
"
new_dev = mdio_alloc();
ldev = malloc(sizeof(*ldev));
"
Either new_dev or ldev is NULL, directly return, but this may leak memory.
So before return, using free(ldev) and mdio_free(new_dev) to avoid
leaking memory, also free can handle NULL pointer.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
(cherry picked from commit 746da1bd42aa5ecc47898399514c9c76d0329706)

Showing 1 changed file with 2 additions and 0 deletions Side-by-side Diff

... ... @@ -113,6 +113,8 @@
113 113 if (new_dev == NULL || ldev == NULL) {
114 114 printf("miiphy_register: cannot allocate memory for '%s'\n",
115 115 name);
  116 + free(ldev);
  117 + mdio_free(new_dev);
116 118 return;
117 119 }
118 120