1) add in more ASSERT condition and updates the comment for HexStringToBuf.
2) Check the pointer returned by HiiLibGetHiiHandles.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7324 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2009-01-21 05:33:41 +00:00
parent 29dd3b04b0
commit 4a1102c9ae
3 changed files with 12 additions and 5 deletions

View File

@ -852,6 +852,8 @@ BufToHexString (
If String has N valid hexadecimal characters for conversion, the caller must make sure Buffer is at least If String has N valid hexadecimal characters for conversion, the caller must make sure Buffer is at least
N/2 (if N is even) or (N+1)/2 (if N if odd) bytes. N/2 (if N is even) or (N+1)/2 (if N if odd) bytes.
If either Buffer, BufferSizeInBytes or String is NULL, then ASSERT ().
@param Buffer The output buffer allocated by the caller. @param Buffer The output buffer allocated by the caller.
@param BufferSizeInBytes On input, the size in bytes of Buffer. On output, it is updated to @param BufferSizeInBytes On input, the size in bytes of Buffer. On output, it is updated to
contain the size of the Buffer which is actually used for the converstion. contain the size of the Buffer which is actually used for the converstion.

View File

@ -325,8 +325,8 @@ HiiLibGetStringFromToken (
EFI_GUID Guid; EFI_GUID Guid;
Status = HiiLibGetHiiHandles (&HandleBufferLen, &HiiHandleBuffer); Status = HiiLibGetHiiHandles (&HandleBufferLen, &HiiHandleBuffer);
if (EFI_ERROR(Status)) { if (HiiHandleBuffer == NULL) {
return Status; return EFI_NOT_FOUND;
} }
for (Index = 0; Index < (HandleBufferLen / sizeof (EFI_HII_HANDLE)); Index++) { for (Index = 0; Index < (HandleBufferLen / sizeof (EFI_HII_HANDLE)); Index++) {
Status = HiiLibExtractGuidFromHiiHandle (HiiHandleBuffer[Index], &Guid); Status = HiiLibExtractGuidFromHiiHandle (HiiHandleBuffer[Index], &Guid);
@ -350,9 +350,8 @@ HiiLibGetStringFromToken (
Status = HiiLibGetStringFromHandle (HiiHandleBuffer[Index], StringId, String); Status = HiiLibGetStringFromHandle (HiiHandleBuffer[Index], StringId, String);
Out: Out:
if (HiiHandleBuffer != NULL) {
FreePool (HiiHandleBuffer); FreePool (HiiHandleBuffer);
}
return Status; return Status;
} }

View File

@ -1562,6 +1562,8 @@ BufToHexString (
If String has N valid hexadecimal characters for conversion, the caller must make sure Buffer is at least If String has N valid hexadecimal characters for conversion, the caller must make sure Buffer is at least
N/2 (if N is even) or (N+1)/2 (if N if odd) bytes. N/2 (if N is even) or (N+1)/2 (if N if odd) bytes.
If either Buffer, BufferSizeInBytes or String is NULL, then ASSERT ().
@param Buffer The output buffer allocated by the caller. @param Buffer The output buffer allocated by the caller.
@param BufferSizeInBytes On input, the size in bytes of Buffer. On output, it is updated to @param BufferSizeInBytes On input, the size in bytes of Buffer. On output, it is updated to
contain the size of the Buffer which is actually used for the converstion. contain the size of the Buffer which is actually used for the converstion.
@ -1592,6 +1594,10 @@ HexStringToBuf (
UINT8 Digit; UINT8 Digit;
UINT8 Byte; UINT8 Byte;
ASSERT (Buffer != NULL);
ASSERT (BufferSizeInBytes != NULL);
ASSERT (String != NULL);
// //
// Find out how many hex characters the string has. // Find out how many hex characters the string has.
// //