In the Linux kernel, the following vulnerability has been resolved:
drm/vc4: fix krealloc() memory leak
Don't just overwrite the original pointer passed to krealloc()
with its return value without checking latter:
<pre>
MEM = krealloc(MEM, SZ, GFP);
</pre>
If krealloc() returns NULL, that erases the pointer
to the still allocated memory, hence leaks this memory.
Instead, use a temporary variable, check it's not NULL
and only then assign it to the original pointer:
<pre>
TMP = krealloc(MEM, SZ, GFP);
if (!TMP) return;
MEM = TMP;
</pre>
While on it, use krealloc_array().