From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E7D3481CF3 for ; Thu, 3 Nov 2016 00:23:09 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP; 03 Nov 2016 00:23:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,585,1473145200"; d="scan'208";a="897185021" Received: from shwdeopenpsi014.ccr.corp.intel.com ([10.239.9.34]) by orsmga003.jf.intel.com with ESMTP; 03 Nov 2016 00:23:09 -0700 From: Hao Wu To: edk2-devel@lists.01.org Cc: Hao Wu , Liming Gao , Yonghong Zhu , Eric Dong , Dandan Bi Date: Thu, 3 Nov 2016 15:22:10 +0800 Message-Id: <1478157783-9368-1-git-send-email-hao.a.wu@intel.com> X-Mailer: git-send-email 1.9.5.msysgit.0 Subject: [PATCH v2 00/53] Resolve issues for C source codes in BaseTools X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Nov 2016 07:23:10 -0000 Compared with V1, the following changes are made: 1. More detailed log for commits that resolve the format mismatch in scanf functions 2. Add definitions for format strings that will be used to construct the commands to be executed via system() API 3. Use allocated buffers (instead of fixed-size arrays) to store file/ directory names across VfrCompile tool codes The patch series is also available at: https://github.com/hwu25/edk2/tree/BaseTools_V2 Cc: Liming Gao Cc: Yonghong Zhu Cc: Eric Dong Cc: Dandan Bi Hao Wu (53): BaseTools/C/Common: Avoid possible NULL pointer dereference BaseTools/EfiRom: Avoid possible NULL pointer dereference BaseTools/GenFfs: Avoid possible NULL pointer dereference BaseTools/GenFv: Avoid possible NULL pointer dereference BaseTools/GenFw: Avoid possible NULL pointer dereference BaseTools/GenPage: Avoid possible NULL pointer dereference BaseTools/GenSec: Avoid possible NULL pointer dereference BaseTools/GenVtf: Avoid possible NULL pointer dereference BaseTools/TianoCompress: Avoid possible NULL pointer dereference BaseTools/VfrCompile: Avoid possible NULL pointer dereference BaseTools/VolInfo: Avoid possible NULL pointer dereference BaseTools/TianoCompress: Initialize local variables before being used BaseTools/VfrCompile: Initialize local variables before being used BaseTools/GenBootSector: Fix parameter format mismatch in printf functions BaseTools/VolInfo: Fix parameter format mismatch in printf functions BaseTools/C/Common: Fix parameter format mismatch in scanf functions BaseTools/GenFv: Fix parameter format mismatch in scanf functions BaseTools/GenFw: Fix parameter format mismatch in scanf functions BaseTools/GenVtf: Fix parameter format mismatch in scanf functions BaseTools/C/Common: Add checks for array access BaseTools/TianoCompress: Add checks for array access BaseTools/VfrCompile: Add checks for array access BaseTools/EfiRom: Add checks for user/file inputs BaseTools/GenFv: Add checks for user/file inputs BaseTools/VfrCompile: Add checks for user/file inputs BaseTools/VfrCompile: Avoid freeing memory with mismatched functions BaseTools/VfrCompile: Add assignment operator definition for some classes BaseTools/VfrCompile: Avoid freeing freed memory in classes BaseTools/VfrCompile: Remove unused local variables BaseTools/C/Common: Fix potential memory leak BaseTools/EfiRom: Fix potential memory leak BaseTools/GenFv: Fix potential memory leak BaseTools/GenPage: Fix potential memory leak BaseTools/GenSec: Fix potential memory leak BaseTools/GenVtf: Fix potential memory leak BaseTools/Split: Fix potential memory and resource leak BaseTools/TianoCompress: Fix potential memory leak BaseTools/VfrCompile: Fix potential memory leak BaseTools/VolInfo: Fix potential memory leak BaseTools/EfiRom: Fix file handles not being closed BaseTools/GenBootSector: Fix file handles not being closed BaseTools/GenCrc32: Fix file handles not being closed BaseTools/GenFv: Fix file handles not being closed BaseTools/GenVtf: Fix file handles not being closed BaseTools/LzmaCompress: Fix file handles not being closed BaseTools/TianoCompress: Fix file handles not being closed BaseTools/VolInfo: Fix file handles not being closed BaseTools/GenVtf: Provide string width in '%s' specifier in format string BaseTools/VolInfo: Provide string width in '%s' specifier in format string BaseTools/VfrCompile: Explicitly state format string for DebugMsg() BaseTools/VolInfo: Add definitions for command format strings BaseTools/VfrCompile/Pccts: Add virtual destructor for class DLGInputStream BaseTools/VfrCompile/Pccts: Make assignment operator not returning void BaseTools/Source/C/Common/BasePeCoff.c | 12 ++ BaseTools/Source/C/Common/CommonLib.c | 8 +- BaseTools/Source/C/Common/Decompress.c | 41 ++-- BaseTools/Source/C/Common/EfiUtilityMsgs.c | 20 +- BaseTools/Source/C/Common/FirmwareVolumeBuffer.c | 6 +- BaseTools/Source/C/Common/MemoryFile.c | 3 +- BaseTools/Source/C/Common/MyAlloc.c | 55 +++++- .../Source/C/Common/ParseGuidedSectionTools.c | 21 ++- BaseTools/Source/C/Common/ParseInf.c | 10 +- BaseTools/Source/C/Common/SimpleFileParsing.c | 6 +- BaseTools/Source/C/Common/TianoCompress.c | 9 +- BaseTools/Source/C/EfiRom/EfiRom.c | 120 ++++++++---- BaseTools/Source/C/GenBootSector/GenBootSector.c | 43 +++-- BaseTools/Source/C/GenCrc32/GenCrc32.c | 3 +- BaseTools/Source/C/GenFfs/GenFfs.c | 36 ++-- BaseTools/Source/C/GenFv/GenFv.c | 9 +- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 79 +++++++- BaseTools/Source/C/GenFw/Elf32Convert.c | 8 + BaseTools/Source/C/GenFw/Elf64Convert.c | 10 +- BaseTools/Source/C/GenFw/ElfConvert.c | 7 +- BaseTools/Source/C/GenFw/GenFw.c | 20 +- BaseTools/Source/C/GenPage/GenPage.c | 12 +- BaseTools/Source/C/GenSec/GenSec.c | 27 ++- BaseTools/Source/C/GenVtf/GenVtf.c | 113 ++++++++++- BaseTools/Source/C/LzmaCompress/LzmaCompress.c | 4 +- BaseTools/Source/C/Split/Split.c | 41 ++-- BaseTools/Source/C/TianoCompress/TianoCompress.c | 68 ++++--- BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h | 4 +- .../Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h | 6 +- BaseTools/Source/C/VfrCompile/Pccts/h/DLexer.h | 3 + BaseTools/Source/C/VfrCompile/Pccts/h/DLexerBase.h | 4 + BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 207 ++++++++++++++++++--- BaseTools/Source/C/VfrCompile/VfrCompiler.h | 14 +- BaseTools/Source/C/VfrCompile/VfrError.cpp | 4 +- BaseTools/Source/C/VfrCompile/VfrError.h | 10 +- BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 29 ++- BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 13 ++ BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp | 54 ++++-- BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 60 +++++- BaseTools/Source/C/VolInfo/VolInfo.c | 107 +++++++++-- BaseTools/Source/C/VolInfo/VolInfo.h | 5 +- 41 files changed, 1053 insertions(+), 258 deletions(-) -- 1.9.5.msysgit.0