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: MEM = krealloc(MEM, SZ, GFP); 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: TMP = krealloc(MEM, SZ, GFP); if (!TMP) return; MEM = TMP; While on it, use krealloc_array().
https://git.kernel.org/stable/c/fd87d6966041e33ef7d2e5dc59f9a52b71c6ae5f
https://git.kernel.org/stable/c/e0ce103e89d61eef70edc1d1ae3bfd4c0aacbc2e
https://git.kernel.org/stable/c/c034aa0b1ba5f49cbdf8ef193d6ec714d74aac27
https://git.kernel.org/stable/c/5d563a5da8717629ae72f9eadf1e0e340bd1658b
https://git.kernel.org/stable/c/4fc692dc6df5bc777cc1bcebf95179e28594875f
https://git.kernel.org/stable/c/30165a09f76eaf34951c818eb5d9d6e4771d76f6
https://git.kernel.org/stable/c/02f5e4db57c0cdd7bac89d503b301a093a0fa95c