PyObject*\r
UefiDecompress(\r
PyObject *Self,\r
- PyObject *Args,\r
- ) \r
+ PyObject *Args\r
+ )\r
{\r
PyObject *SrcData;\r
UINT32 SrcDataSize;\r
\r
Status = PyArg_ParseTuple(\r
Args,\r
- "Oii",\r
+ "Oi",\r
&SrcData,\r
- &SrcDataSize,\r
- &DstDataSize\r
+ &SrcDataSize\r
);\r
if (Status == 0) {\r
return NULL;\r
\r
// Because some Python objects which support "buffer" protocol have more than one\r
// memory segment, we have to copy them into a contiguous memory.\r
- SrcBuf = malloc(SrcDataSize);\r
- DstBuf = malloc(DstDataSize);\r
- if (SrcBuf == NULL || DstBuf == NULL) {\r
+ SrcBuf = PyMem_Malloc(SrcDataSize);\r
+ if (SrcBuf == NULL) {\r
PyErr_SetString(PyExc_Exception, "Not enough memory\n");\r
goto ERROR;\r
}\r
TmpBuf += Len;\r
}\r
\r
- Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID *)DstBuf, DstDataSize, 1);\r
+ Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID **)&DstBuf, &DstDataSize, 1);\r
if (Status != EFI_SUCCESS) {\r
PyErr_SetString(PyExc_Exception, "Failed to decompress\n");\r
goto ERROR;\r
\r
Status = PyArg_ParseTuple(\r
Args,\r
- "Oii",\r
+ "Oi",\r
&SrcData,\r
- &SrcDataSize,\r
- &DstDataSize\r
+ &SrcDataSize\r
);\r
if (Status == 0) {\r
return NULL;\r
\r
// Because some Python objects which support "buffer" protocol have more than one\r
// memory segment, we have to copy them into a contiguous memory.\r
- SrcBuf = malloc(SrcDataSize);\r
- DstBuf = malloc(DstDataSize);\r
- if (SrcBuf == NULL || DstBuf == NULL) {\r
+ SrcBuf = PyMem_Malloc(SrcDataSize);\r
+ if (SrcBuf == NULL) {\r
PyErr_SetString(PyExc_Exception, "Not enough memory\n");\r
goto ERROR;\r
}\r
TmpBuf += Len;\r
}\r
\r
- Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID *)DstBuf, DstDataSize, 2);\r
+ Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID **)&DstBuf, &DstDataSize, 2);\r
if (Status != EFI_SUCCESS) {\r
PyErr_SetString(PyExc_Exception, "Failed to decompress\n");\r
goto ERROR;\r
UefiCompress(\r
PyObject *Self,\r
PyObject *Args\r
- ) \r
+ )\r
{\r
return NULL;\r
}\r