<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdePkg/Library/BaseLib/String.c, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-15T10:49:49+00:00</updated>
<entry>
<title>MdePkg/BaseLib: Add AsciiStrToUintn and AsciiStrToUint64</title>
<updated>2026-09-15T10:49:49+00:00</updated>
<author>
<name>Vishal Oliyil Kunnil</name>
<email>vishalo@qti.qualcomm.com</email>
</author>
<published>2026-08-28T23:21:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f443364513d9f65c793563a324cbc5580ce35a69'/>
<id>urn:sha1:f443364513d9f65c793563a324cbc5580ce35a69</id>
<content type='text'>
Add AsciiStrToUintn() and AsciiStrToUint64() to BaseLib. These are
thin wrappers that dispatch to the existing AsciiStrHexToUintnS()/
AsciiStrDecimalToUintnS() (and UINT64 equivalents) based on Base,
which must be 0 (auto-detect via a "0x"/"0X" prefix), 10, or 16.
No new radix-parsing logic is introduced; the existing conversion
routines already cover the bases actually used in practice.

Signed-off-by: Vishal Oliyil Kunnil &lt;vishalo@qti.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>MdePkg/BaseLib: Add AsciiIsSpace</title>
<updated>2026-09-15T10:49:49+00:00</updated>
<author>
<name>Vishal Oliyil Kunnil</name>
<email>vishalo@qti.qualcomm.com</email>
</author>
<published>2026-08-28T23:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=19d198baace6c9b5582d59471ecad6336ca255e0'/>
<id>urn:sha1:19d198baace6c9b5582d59471ecad6336ca255e0</id>
<content type='text'>
Add AsciiIsSpace() to BaseLib, which checks whether an ASCII
character is a space character as defined by the ISO C isspace()
function. This will be used to implement AsciiStrToUintn() and
AsciiStrToUint64().

Signed-off-by: Vishal Oliyil Kunnil &lt;vishalo@qti.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>MdePkg/BaseLib: Add AsciiStrRChr</title>
<updated>2026-09-15T10:49:49+00:00</updated>
<author>
<name>Vishal Oliyil Kunnil</name>
<email>vishalo@qti.qualcomm.com</email>
</author>
<published>2026-08-28T23:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ff77d74ab52590846591427ee35fea75d583c484'/>
<id>urn:sha1:ff77d74ab52590846591427ee35fea75d583c484</id>
<content type='text'>
Add AsciiStrRChr() to BaseLib, which returns the last occurrence of
a character in a Null-terminated ASCII string. This mirrors the
existing AsciiStrStr() API style and provides a reusable
implementation for consumers that currently hand-roll this logic.

Signed-off-by: Vishal Oliyil Kunnil &lt;vishalo@qti.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Fix Spelling Errors in Comments</title>
<updated>2026-05-08T02:15:34+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-04-16T16:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6f73fbea977818342dd3992aa443f867957ad1c4'/>
<id>urn:sha1:6f73fbea977818342dd3992aa443f867957ad1c4</id>
<content type='text'>
This fixes all non-breaking spelling errors in
MdePkg.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: CodeQL Fixes.</title>
<updated>2024-11-01T04:30:39+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2024-07-31T23:10:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b7735a087afce6a5157b61e5450b6848ed535a14'/>
<id>urn:sha1:b7735a087afce6a5157b61e5450b6848ed535a14</id>
<content type='text'>
Includes changes across the repo for the following CodeQL rules:
- cpp/comparison-with-wider-type
- cpp/overflow-buffer
- cpp/redundant-null-check-param
- cpp/uselesstest

Co-authored-by: Taylor Beebe &lt;tabeebe@microsoft.com&gt;
Co-authored-by: kenlautner &lt;85201046+kenlautner@users.noreply.github.com&gt;

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Fix conditionally uninitialized variables</title>
<updated>2023-04-03T15:29:08+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2022-11-08T20:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=321240b135e37ac1b9be1317f78ce2a3b526bf02'/>
<id>urn:sha1:321240b135e37ac1b9be1317f78ce2a3b526bf02</id>
<content type='text'>
Fixes CodeQL alerts for CWE-457:
https://cwe.mitre.org/data/definitions/457.html

Note that this change affects the actual return value from the
following functions. The functions documented that if an integer
overflow occurred, MAX_UINTN would be returned. They were
implemented to actually return an undefined value from the stack.

This change makes the function follow its description. However, this
is technically different than what callers may have previously
expected.

MdePkg/Library/BaseLib/String.c:
  - StrDecimalToUintn()
  - StrDecimalToUint64()
  - StrHexToUintn()
  - StrHexToUint64()
  - AsciiStrDecimalToUintn()
  - AsciiStrDecimalToUint64()
  - AsciiStrHexToUintn()
  - AsciiStrHexToUint64()

Cc: Erich McMillan &lt;emcmillan@microsoft.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Michael Kubacki &lt;mikuback@linux.microsoft.com&gt;
Cc: Zhiguang Liu &lt;zhiguang.liu@intel.com&gt;
Co-authored-by: Erich McMillan &lt;emcmillan@microsoft.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Reviewed-by: Oliver Smith-Denny &lt;osd@smith-denny.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Apply uncrustify changes</title>
<updated>2021-12-07T17:24:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2021-12-05T22:54:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2f88bd3a1296c522317f1c21377876de63de5be7'/>
<id>urn:sha1:2f88bd3a1296c522317f1c21377876de63de5be7</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Cc: Andrew Fish &lt;afish@apple.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES</title>
<updated>2020-10-13T01:35:03+00:00</updated>
<author>
<name>Zhang, Shenglei</name>
<email>shenglei.zhang@intel.com</email>
</author>
<published>2020-08-05T06:08:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9c1f455f5f0ee63ce080940bf974aac4fefe526b'/>
<id>urn:sha1:9c1f455f5f0ee63ce080940bf974aac4fefe526b</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2777
Code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES is deprecated.
So remove it.

Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Liming Gao &lt;liming.gao@intel.com&gt;
Signed-off-by: Shenglei Zhang &lt;shenglei.zhang@intel.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg/BaseLib: Base64Decode(): don't declare variables in nested blocks</title>
<updated>2019-07-17T14:36:57+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2019-07-16T22:18:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cce01f538fb4d6ae8c13c88cfc0d3caf5baca833'/>
<id>urn:sha1:cce01f538fb4d6ae8c13c88cfc0d3caf5baca833</id>
<content type='text'>
The EDK II C Coding Standards Specification (v2.20) strongly discourages
variable declarations in nested block scope:

5       Source Files
5.4     Code File Structure
5.4.1   Scoping Rules
5.4.1.1 Scope

&gt; Block (local) Scope
&gt;
&gt; [...]
&gt;
&gt; Data declarations may follow the opening brace of a compound statement,
&gt; regardless of nesting depth, and before any code generating statements
&gt; have been entered. Other than at the outermost block of a function body,
&gt; this type of declaration is strongly discouraged.

Hoist such variable declarations in Base64Decode() to the outermost
function scope.

Cc: Liming Gao &lt;liming.gao@intel.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Fixes: 35e242b698cdc6205e99a6d6a188bf27fecf9fb4
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1980
Reported-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
Reviewed-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
Tested-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
</content>
</entry>
<entry>
<title>MdePkg/BaseLib: rewrite Base64Decode()</title>
<updated>2019-07-16T21:24:38+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2019-07-01T22:35:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=35e242b698cdc6205e99a6d6a188bf27fecf9fb4'/>
<id>urn:sha1:35e242b698cdc6205e99a6d6a188bf27fecf9fb4</id>
<content type='text'>
Rewrite Base64Decode() from scratch, due to reasons listed in the second
reference below.

Implement Base64Decode() according to the specification added in the
previous patch. The decoder scans the input buffer once, it has no inner
loop(s), and it spills each output byte as soon as the output byte is
complete.

The intent is to only strengthen the checks (sanity and input) relative to
the previous implementation, hence the MAX_ADDRESS checks are reinstated.

Cc: Liming Gao &lt;liming.gao@intel.com&gt;
Cc: Marvin Häuser &lt;mhaeuser@outlook.de&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1891
Ref: http://mid.mail-archive.com/c495bd0b-ea4d-7206-8a4f-a7149760d19a@redhat.com
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
Tested-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
[lersek@redhat.com: add last para to commit msg per talks w/ Marvin &amp; Phil]
</content>
</entry>
</feed>
