summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMukesh Ojha <quic_mojha@quicinc.com>2022-03-08 20:53:40 +0530
committerMukesh Ojha <quic_mojha@quicinc.com>2022-03-15 16:16:35 +0530
commitb813daa9e317231376d7164613814669076a2d47 (patch)
tree885a84c10634efcbb41fd188ebbb646d6b378fe6
parent02e009d45c78fb144c454ae25b98eb565a38caa4 (diff)
QcomModulePkg: Fix static analyzer reported issue
Fix NULL pointer dereference issue reported by static analyzer. Change-Id: Ib21aa430e6edfdeacff1aa5e6002826c837e5fab
-rw-r--r--QcomModulePkg/Library/BootLib/UpdateCmdLine.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/QcomModulePkg/Library/BootLib/UpdateCmdLine.c b/QcomModulePkg/Library/BootLib/UpdateCmdLine.c
index 746ff6e8ea..d5abc9de90 100644
--- a/QcomModulePkg/Library/BootLib/UpdateCmdLine.c
+++ b/QcomModulePkg/Library/BootLib/UpdateCmdLine.c
@@ -30,6 +30,38 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
**/
+/*
+ * Changes from Qualcomm Innovation Center are provided under the following
+ * license:
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the disclaimer
+ * below) provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided ?with the distribution.
+ * * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED
+ * BY THIS LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
#include <Library/BaseLib.h>
#include <Library/BootLinux.h>
@@ -1175,6 +1207,7 @@ UpdateCmdLine (CONST CHAR8 *CmdLine,
Status = GetMemoryLimit (fdt, MemOffAmt);
/* Don't override "mem" argument if coded into boot image */
if (Status == EFI_SUCCESS &&
+ HaveCmdLine &&
!AsciiStrStr (CmdLine, "mem=")) {
ParamLen = AsciiStrLen (MemOff);
BootConfigFlag = IsAndroidBootParam (MemOff, ParamLen, HeaderVersion);