[U-Boot] [PATCH] malloc: solve dead code issue in memalign()

Stephen Warren swarren at wwwdotorg.org
Thu Feb 4 19:54:20 CET 2016


From: Stephen Warren <swarren at nvidia.com>

The recent change to memalign() caused the allocation failure detection
code to be dead code; the "retry" logic is always activated under the same
condition that the original failure detection code is, and also fully
handles any possible failures. This patch solves the presence of dead
code.

Two alternatives are possible:

a) Delete the now-dead test, and rely on the "retry" path to handle any
allocation problems, as it does.

b) Make the "retry" path fall through to the existing (currently dead)
failure detection code, thus making it not-dead.

(b) was chosen since it reduces the diff between U-Boot's and the upstream
dlmalloc. This should make it marginally easier to import a new version of
dlmalloc in the future.

Reported by: Coverity Scan
Fixes: 4f144a416469 ("malloc: work around some memalign fragmentation issues")
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
 common/dlmalloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index 2b964d16b11e..5ea37dfb6e4c 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -2848,7 +2848,7 @@ Void_t* mEMALIGn(alignment, bytes) size_t alignment; size_t bytes;
       return m;
     /* Otherwise, fail */
     fREe(m);
-    return NULL;
+    m = NULL;
   }
 
   if (m == NULL) return NULL; /* propagate failure */
-- 
2.7.0



More information about the U-Boot mailing list