aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@kernel.org>2007-11-14 17:00:01 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 18:45:41 -0800
commitbe21f0ab0d8f10c90265066603a8d95b6037a6fa (patch)
tree5aeb6f2a2e62e36a8410ef725ac76fa69ab6a182
parentd5cd97872dca9b79c31224ca014bcea7ca01f5f1 (diff)
downloadkernel_samsung_espresso10-be21f0ab0d8f10c90265066603a8d95b6037a6fa.tar.gz
kernel_samsung_espresso10-be21f0ab0d8f10c90265066603a8d95b6037a6fa.tar.bz2
kernel_samsung_espresso10-be21f0ab0d8f10c90265066603a8d95b6037a6fa.zip
fix mm/util.c:krealloc()
Commit ef8b4520bd9f8294ffce9abd6158085bde5dc902 added one NULL check for "p" in krealloc(), but that doesn't seem to be enough since there doesn't seem to be any guarantee that memcpy(ret, NULL, 0) works (spotted by the Coverity checker). For making it clearer what happens this patch also removes the pointless min(). Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/util.c b/mm/util.c
index 5f64026cbb4..8f18683825b 100644
--- a/mm/util.c
+++ b/mm/util.c
@@ -95,8 +95,8 @@ void *krealloc(const void *p, size_t new_size, gfp_t flags)
return (void *)p;
ret = kmalloc_track_caller(new_size, flags);
- if (ret) {
- memcpy(ret, p, min(new_size, ks));
+ if (ret && p) {
+ memcpy(ret, p, ks);
kfree(p);
}
return ret;