From 9eec4d38c027e9eb95c545875a1f847f0cb3dcbf Mon Sep 17 00:00:00 2001 From: Qiu Shumin Date: Tue, 16 Feb 2016 09:49:05 +0800 Subject: ShellPkg: Do NULL pointer check before the pointer is used. The pointer 'FileInterface->Buffer' returned from 'AllocateZeroPool' in function 'CreateFileInterfaceMem' may be NULL and will be dereferenced at the following code. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin Reviewed-by: Jaben Carsey --- ShellPkg/Application/Shell/FileHandleWrappers.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ShellPkg') diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c b/ShellPkg/Application/Shell/FileHandleWrappers.c index 168b78bd25..f8306e2147 100644 --- a/ShellPkg/Application/Shell/FileHandleWrappers.c +++ b/ShellPkg/Application/Shell/FileHandleWrappers.c @@ -3,7 +3,7 @@ StdIn, StdOut, StdErr, etc...). Copyright 2016 Dell Inc. - Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
(C) Copyright 2013 Hewlett-Packard Development Company, L.P.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -1516,6 +1516,10 @@ CreateFileInterfaceMem( if (Unicode) { FileInterface->Buffer = AllocateZeroPool(sizeof(gUnicodeFileTag)); + if (FileInterface->Buffer == NULL) { + FreePool (FileInterface); + return NULL; + } *((CHAR16 *) (FileInterface->Buffer)) = EFI_UNICODE_BYTE_ORDER_MARK; FileInterface->BufferSize = 2; FileInterface->Position = 2; -- cgit v1.2.3