summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c
Commit message (Collapse)AuthorAgeFilesLines
* ShellPkg: Apply uncrustify changesMichael Kubacki2021-12-071-223/+293
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ShellPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* ShellPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-091-7/+1
| | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg: Clean up source filesLiming Gao2018-06-281-38/+38
| | | | | | | | | | 1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* ShellPkg/DmpStore: fix GCC/CLANG build failureLaszlo Ersek2017-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c:525:66: error: > passing argument 2 of 'gEfiShellProtocol->GetGuidName' from incompatible > pointer type [-Werror=incompatible-pointer-types] > > Status = gEfiShellProtocol->GetGuidName(&FoundVarGuid, &GuidName); > ^ > ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c:525:66: note: > expected 'const CHAR16 ** {aka const short unsigned int **}' but > argument is of type 'CHAR16 ** {aka short unsigned int **}' Pointer-to-(pointer-to-CHAR16) and pointer-to-(pointer-to-const-CHAR16) are incompatible types; GCC and CLANG are right to complain. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Steven Shi <steven.shi@intel.com> Reported-by: Jenkins Build Host <jenkins@kraxel.org> Reported-by: Steven Shi <steven.shi@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=716 Fixes: 09e8678380aaaf0a5ef59179ff59e0a045d1b0bf Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg/dmpstore: Show name of known variable vendor GUIDHuajing Li2017-09-221-4/+13
| | | | | | | | | | | Change "dmpstore" to show name of known variable vendor GUID. The name is got from ShellProtocol.GetGuidName(). Cc: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Huajing Li <huajing.li@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg DmpStore: Make NameSize to be consistent with name bufferStar Zeng2017-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Current code will allocate pool to hold the null char for name buffer when PrevName==NULL, but the NameSize is still 0. For this case, GetNextVariableName will return EFI_INVALID_PARAMETER to follow UEFI 2.7 spec. UEFI 2.7 spec: The VariableNameSize must not be smaller the size of the variable name string passed to GetNextVariableName() on input in the VariableName buffer. EFI_INVALID_PARAMETER Null-terminator is not found in the first VariableNameSize bytes of the input VariableName buffer. This patch is to make NameSize to be consistent with name buffer. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* ShellPkg: Refine type cast for pointer subtractionHao Wu2017-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For pointer subtraction, the result is of type "ptrdiff_t". According to the C11 standard (Committee Draft - April 12, 2011): "When two pointers are subtracted, both shall point to elements of the same array object, or one past the last element of the array object; the result is the difference of the subscripts of the two array elements. The size of the result is implementation-defined, and its type (a signed integer type) is ptrdiff_t defined in the <stddef.h> header. If the result is not representable in an object of that type, the behavior is undefined." In our codes, there are cases that the pointer subtraction is not performed by pointers to elements of the same array object. This might lead to potential issues, since the behavior is undefined according to C11 standard. Also, since the size of type "ptrdiff_t" is implementation-defined. Some static code checkers may warn that the pointer subtraction might underflow first and then being cast to a bigger size. For example: UINT8 *Ptr1, *Ptr2; UINTN PtrDiff; ... PtrDiff = (UINTN) (Ptr1 - Ptr2); The commit will refine the pointer subtraction expressions by casting each pointer to UINTN first and then perform the subtraction: PtrDiff = (UINTN) Ptr1 - (UINTN) Ptr2; Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg/Debug1CommandLib: Use StrToGuid/StrHexToBytes in BaseLibRuiyu Ni2017-03-011-3/+4
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg/UefiShellDebug1CommandsLib: Fix coding style issuesDandan Bi2016-12-141-2/+3
| | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* ShellPkg/dmpstore: Support "-sfo"Ruiyu Ni2016-11-161-60/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds the "-sfo" support to "dmpstore" command. When -l or -d is specified, -sfo is not supported. When the variable specified by name and GUID cannot be found, an error message is displayed; Otherwise, the SFO is displayed. E.g.: "dmpstore -guid GuidThatDoesntExist -sfo" produces output as: ShellCommand,"dmpstore" VariableInfo,"","GuidThatDoesntExist","","","" "dmpstore NameThatDoesntExist -guid GuidThatDoesntExist -sfo" produces output as: ShellCommand,"dmpstore" dmpstore: No matching variables found. Guid GuidThatDoesntExist, Name NameThatDoesntExist The difference between the above 2 cases is that former one only specifies the GUID, but the latter one specifies both name and GUID. Since not specifying GUID means to use GlobalVariableGuid, "dmpstore NameThatDoesntExist -sfo" produces the similar output as latter one. I personally prefer to always produce SFO output for both cases. But the above behavior is the discussion result between HPE engineers. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Tapan Shah <tapandshah@hpe.com>
* ShellPkg/UefiShellDebug1CommandsLib: Remove unnecessary EFIAPIChen A Chen2016-10-091-3/+0
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <Ruiyu.ni@intel.com>
* ShellPkg: Refine code to use Strn**S safe functions instead of Str**S ones ↵Qiu Shumin2015-07-091-1/+1
| | | | | | | | | | | | in some cases. Safe string functions may ASSERT when the source length is larger than the MaxDest. This patch use Strn**S to indicate the copy length. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Tapan Shah <<tapandshah@hp.com>> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17894 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Use safe string functions to refine code.Qiu Shumin2015-06-301-2/+2
| | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17730 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Standardized HP Copyright Message StringTapan Shah2015-02-041-2/+1
| | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16759 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Update Debug1 profile commands response outputTapan Shah2015-02-031-24/+25
| | | | | | | | | | | | Updates to Debug1 profile commands response output. Updating Debug1 profile commands source code to include command name as a prefix in error message. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16729 6f19259b-4bc3-4df7-8a09-765794883524
* Dmpstore command does not return lasterror equal to 0 when ‘-s’ flag ↵jcarsey2014-10-071-1/+1
| | | | | | | | | | | used to dump variables in file Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by : Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16196 6f19259b-4bc3-4df7-8a09-765794883524
* This patch replaces StrCpy with StrnCpy or refactors out the usage of StrCpy ↵Jaben Carsey2014-08-291-1/+1
| | | | | | | | | | | | through some other means. This patch replaces StrCat with StrnCat or refactors out the usage of StrCat through some other means. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16004 6f19259b-4bc3-4df7-8a09-765794883524
* Updates the logic to allow DmpStore to specify a name independent of ↵Jaben Carsey2014-08-051-2/+9
| | | | | | | | | | specifying a GUID. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15757 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Fix Ctrl+C support for dmpstore command.Tapan Shah2014-06-301-1/+7
| | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15604 6f19259b-4bc3-4df7-8a09-765794883524
* Update prints of variable attributes from 'RS' to 'RT' for 'Dmpstore' command.Shumin Qiu2014-01-231-1/+1
| | | | | | | Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15164 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Change the implementation of function 'LoadVariableFromFile' to return ↵Shumin Qiu2014-01-141-22/+24
| | | | | | | | | SHELL_STATUS. 2. Add code to check whether the pointer 'FoundVarName' in 'DmpStore.c' is NULL before used. Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15112 6f19259b-4bc3-4df7-8a09-765794883524
* Set the type of return value from function 'LoadVariablesFromFile' in ↵Shumin Qiu2014-01-131-1/+1
| | | | | | | | | 'DmpStore.c' to match the type of 'ShellStatus'. Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15102 6f19259b-4bc3-4df7-8a09-765794883524
* Add the feature "dmpstore -l" and "dmpstore -s".Ruiyu Ni2014-01-101-59/+445
| | | | | | | | | | | | | | The file format is as below: <File> := <Variable>+ <Variable> := <Name-Size> <Data-Size> <Name> <GUID> <Attributes> <Data> <Crc32> Each variable representation in the file has a CRC32 value which can provide a mechanism to detect the file modification. When any CRC32 is incorrect, dmpstore rejects to load the variables from the file. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15083 6f19259b-4bc3-4df7-8a09-765794883524
* Add code to check whether the pointer 'NewBuffer' in 'FileHandelWrappers.c' ↵Shumin Qiu2014-01-091-4/+8
| | | | | | | | | and the pointer 'FoundVarName' in 'Dmpstore.c' are NULL before used. Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15060 6f19259b-4bc3-4df7-8a09-765794883524
* Add the comment for function 'IsValidSplit' in 'Shell.c'. Add code to check ↵Shumin Qiu2014-01-071-2/+2
| | | | | | | | | | | | whether pointer 'DataBuffer' in 'DmpStore.c' is NULL before used. Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15051 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: fix DmpStore for deletingJaben Carsey2013-12-201-115/+137
| | | | | | | | | | | | This change allows DmpStore command to delete all variables whereas before it would stop after a single deletion due to looping errors. It uses a recursive function and deletes the last item returned from GetNextVariableName() first and then goes "backwards" to the first items. This can't delete authenticated variables. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15014 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Return an error when it happensjcarsey2013-05-091-2/+2
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <Jaben.Carsey@intel.com> Reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14336 6f19259b-4bc3-4df7-8a09-765794883524
* Refine code to make it more safely.ydong102012-09-101-1/+1
| | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13712 6f19259b-4bc3-4df7-8a09-765794883524
* Refine coding style.ydong102012-09-051-1/+0
| | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13700 6f19259b-4bc3-4df7-8a09-765794883524
* Fix build fail.ydong102012-09-041-1/+1
| | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13697 6f19259b-4bc3-4df7-8a09-765794883524
* Refine the code to make it more safely.ydong102012-09-031-19/+27
| | | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13696 6f19259b-4bc3-4df7-8a09-765794883524
* Refine code to follow coding style.ydong102012-08-071-6/+14
| | | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13595 6f19259b-4bc3-4df7-8a09-765794883524
* Fix build fail for GCCydong102012-07-261-0/+1
| | | | | | Signed-off-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13559 6f19259b-4bc3-4df7-8a09-765794883524
* Fixed issues:ydong102012-07-261-35/+100
| | | | | | | | | | 1.Refine the logic about show different attribute. 2.Refine the logic about allocate memory for variable name and data. Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13558 6f19259b-4bc3-4df7-8a09-765794883524
* ShellPkg: Fix recursion when deleting all variables.ydong102012-07-041-0/+1
| | | | | | | | Signed-off-by: Dong Eric <eric.dong@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13484 6f19259b-4bc3-4df7-8a09-765794883524
* Update comments in DmpStore.c to be more suitable.lzeng142012-04-271-2/+2
| | | | | | | Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13223 6f19259b-4bc3-4df7-8a09-765794883524
* comp - add comments and add input verification jcarsey2011-03-251-16/+48
| | | | | | | | | | | | | | | | | | | | | | | | bcfg - updated for bugs. compress - rename for coding standards. add comments. dblk - add comments, input verification, and a header line dmem - add comments, add input verification, add system table info dmpstore - add comments eficompress - add comments and add input verification efidecompress - add comments and add input verification loadpcirom - add comments and more output messages memmap - add more output to exceed the spec. mm - move functions, add comments, add input verification. mode - add comment pci - add input verification. SerMode - add comments and add input verification setsize - add comments and add input verification setvar - add comments and add input verification smbiosview - add input verification. clarify error messages. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11438 6f19259b-4bc3-4df7-8a09-765794883524
* Add "Debug1" profile (all but Edit and HexEdit commands)jcarsey2010-11-161-0/+228
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11068 6f19259b-4bc3-4df7-8a09-765794883524