提交 37b5fc99 编写于 作者: G Goldfish64

OcAudioLib: Fix previous commit

上级 c6509d41
...@@ -176,6 +176,7 @@ CHAR8 *mColors[HDA_CONFIG_DEFAULT_COLOR_OTHER + 1] = ...@@ -176,6 +176,7 @@ CHAR8 *mColors[HDA_CONFIG_DEFAULT_COLOR_OTHER + 1] =
}; };
STATIC STATIC
EFIAPI
VOID VOID
PrintHdaBuffer ( PrintHdaBuffer (
IN OUT CHAR8 **AsciiBuffer, IN OUT CHAR8 **AsciiBuffer,
...@@ -190,14 +191,14 @@ PrintHdaBuffer ( ...@@ -190,14 +191,14 @@ PrintHdaBuffer (
CHAR8 *NewBuffer; CHAR8 *NewBuffer;
UINTN NewBufferSize; UINTN NewBufferSize;
VA_START (Marker, FormatString);
AsciiVSPrint (Tmp, sizeof (Tmp), FormatString, Marker);
VA_END (Marker);
if (*AsciiBuffer == NULL) { if (*AsciiBuffer == NULL) {
return; return;
} }
VA_START (Marker, FormatString);
AsciiVSPrint (Tmp, sizeof (Tmp), FormatString, Marker);
VA_END (Marker);
Status = AsciiStrCatS (*AsciiBuffer, *AsciiBufferSize, Tmp); Status = AsciiStrCatS (*AsciiBuffer, *AsciiBufferSize, Tmp);
if (Status == EFI_BUFFER_TOO_SMALL) { if (Status == EFI_BUFFER_TOO_SMALL) {
if (OcOverflowMulUN (*AsciiBufferSize, 2, &NewBufferSize)) { if (OcOverflowMulUN (*AsciiBufferSize, 2, &NewBufferSize)) {
...@@ -205,6 +206,11 @@ PrintHdaBuffer ( ...@@ -205,6 +206,11 @@ PrintHdaBuffer (
} }
NewBuffer = ReallocatePool (*AsciiBufferSize, NewBufferSize, *AsciiBuffer); NewBuffer = ReallocatePool (*AsciiBufferSize, NewBufferSize, *AsciiBuffer);
if (NewBuffer == NULL) { if (NewBuffer == NULL) {
FreePool (*AsciiBuffer);
*AsciiBuffer = NULL;
*AsciiBufferSize = 0;
return; return;
} }
...@@ -616,11 +622,13 @@ OcAudioDump ( ...@@ -616,11 +622,13 @@ OcAudioDump (
// //
// Save dumped controller data to file. // Save dumped controller data to file.
// //
UnicodeSPrint (TmpFileName, sizeof (TmpFileName), L"Controller%u.txt", Index); if (FileBuffer != NULL) {
Status = SetFileData (Root, TmpFileName, FileBuffer, AsciiStrSize (FileBuffer)); UnicodeSPrint (TmpFileName, sizeof (TmpFileName), L"Controller%u.txt", Index);
DEBUG ((DEBUG_INFO, "OCAU: Dumped HDA controller %u info result - %r\n", Index, Status)); Status = SetFileData (Root, TmpFileName, FileBuffer, (UINT32) AsciiStrSize (FileBuffer));
DEBUG ((DEBUG_INFO, "OCAU: Dumped HDA controller %u info result - %r\n", Index, Status));
FreePool (FileBuffer); FreePool (FileBuffer);
}
} }
// //
...@@ -714,11 +722,13 @@ OcAudioDump ( ...@@ -714,11 +722,13 @@ OcAudioDump (
// //
// Save dumped codec data to file. // Save dumped codec data to file.
// //
UnicodeSPrint (TmpFileName, sizeof (TmpFileName), L"Codec%u.txt", Index); if (FileBuffer != NULL) {
Status = SetFileData (Root, TmpFileName, FileBuffer, AsciiStrSize (FileBuffer)); UnicodeSPrint (TmpFileName, sizeof (TmpFileName), L"Codec%u.txt", Index);
DEBUG ((DEBUG_INFO, "OCAU: Dumped HDA codec %u info result - %r\n", Index, Status)); Status = SetFileData (Root, TmpFileName, FileBuffer, (UINT32) AsciiStrSize (FileBuffer));
DEBUG ((DEBUG_INFO, "OCAU: Dumped HDA codec %u info result - %r\n", Index, Status));
FreePool (FileBuffer); FreePool (FileBuffer);
}
} }
return EFI_SUCCESS; return EFI_SUCCESS;
......
...@@ -33,8 +33,9 @@ HdaCodecInfoGetAddress ( ...@@ -33,8 +33,9 @@ HdaCodecInfoGetAddress (
{ {
HDA_CODEC_INFO_PRIVATE_DATA *HdaPrivateData; HDA_CODEC_INFO_PRIVATE_DATA *HdaPrivateData;
ASSERT (This != NULL); if (This == NULL || Address == NULL) {
ASSERT (Address != NULL); return EFI_INVALID_PARAMETER;
}
HdaPrivateData = HDA_CODEC_INFO_PRIVATE_DATA_FROM_THIS (This); HdaPrivateData = HDA_CODEC_INFO_PRIVATE_DATA_FROM_THIS (This);
......
...@@ -33,8 +33,9 @@ HdaControllerInfoGetName ( ...@@ -33,8 +33,9 @@ HdaControllerInfoGetName (
{ {
HDA_CONTROLLER_INFO_PRIVATE_DATA *HdaPrivateData; HDA_CONTROLLER_INFO_PRIVATE_DATA *HdaPrivateData;
ASSERT (This != NULL); if (This == NULL || Name == NULL) {
ASSERT (Name != NULL); return EFI_INVALID_PARAMETER;
}
HdaPrivateData = HDA_CONTROLLER_INFO_PRIVATE_DATA_FROM_THIS (This); HdaPrivateData = HDA_CONTROLLER_INFO_PRIVATE_DATA_FROM_THIS (This);
*Name = HdaPrivateData->HdaControllerDev->Name; *Name = HdaPrivateData->HdaControllerDev->Name;
...@@ -51,8 +52,9 @@ HdaControllerInfoGetVendorId ( ...@@ -51,8 +52,9 @@ HdaControllerInfoGetVendorId (
{ {
HDA_CONTROLLER_INFO_PRIVATE_DATA *HdaPrivateData; HDA_CONTROLLER_INFO_PRIVATE_DATA *HdaPrivateData;
ASSERT (This != NULL); if (This == NULL || VendorId == NULL) {
ASSERT (VendorId != NULL); return EFI_INVALID_PARAMETER;
}
HdaPrivateData = HDA_CONTROLLER_INFO_PRIVATE_DATA_FROM_THIS (This); HdaPrivateData = HDA_CONTROLLER_INFO_PRIVATE_DATA_FROM_THIS (This);
*VendorId = HdaPrivateData->HdaControllerDev->VendorId; *VendorId = HdaPrivateData->HdaControllerDev->VendorId;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册