From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E8F4D81DAD for ; Mon, 7 Nov 2016 17:05:56 -0800 (PST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP; 07 Nov 2016 17:05:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,459,1473145200"; d="scan'208";a="188794123" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga004.fm.intel.com with ESMTP; 07 Nov 2016 17:05:59 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 7 Nov 2016 17:05:59 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 7 Nov 2016 17:05:58 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.206]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.209]) with mapi id 14.03.0248.002; Tue, 8 Nov 2016 09:05:56 +0800 From: "Gao, Liming" To: "Wu, Hao A" , "edk2-devel@lists.01.org" CC: "Zhu, Yonghong" , "Dong, Eric" , "Bi, Dandan" Thread-Topic: [PATCH v2 00/53] Resolve issues for C source codes in BaseTools Thread-Index: AQHSNaMzC3RcxzNGyUOZOQ1/od4qGKDOTPXg Date: Tue, 8 Nov 2016 01:05:55 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14B4A05FD@shsmsx102.ccr.corp.intel.com> References: <1478157783-9368-1-git-send-email-hao.a.wu@intel.com> In-Reply-To: <1478157783-9368-1-git-send-email-hao.a.wu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjE4YmZkZGMtNDFiYi00YjVmLWI1OWYtZmEzOGIzYzYwOGMwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IlBLZmlKUzJQY09NMzkxRjZxVGtUU2ZlSmpsQ2VnQjVuZXEwSHNhWnZDVUk9In0= x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [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: Tue, 08 Nov 2016 01:05:57 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao -----Original Message----- From: Wu, Hao A=20 Sent: Thursday, November 3, 2016 3:22 PM To: edk2-devel@lists.01.org Cc: Wu, Hao A ; Gao, Liming ; Zhu= , Yonghong ; Dong, Eric ; Bi, = Dandan Subject: [PATCH v2 00/53] Resolve issues for C source codes in BaseTools 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(-) --=20 1.9.5.msysgit.0