mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-07 03:40:07 +00:00
Merge pull request #863 from raven02/patch-6
Check pSelf->pAddr is not NULL before setup pAddr pointer
This commit is contained in:
commit
4fe4e589fb
@ -196,6 +196,10 @@ int cellPamfReaderGetPresentationStartTime(vm::ptr<CellPamfReader> pSelf, vm::pt
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetPresentationStartTime(pSelf=0x%x, pTimeStamp_addr=0x%x)", pSelf.addr(), pTimeStamp.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
const u32 upper = (u16)pAddr->start_pts_high;
|
||||
pTimeStamp->upper = upper;
|
||||
@ -207,6 +211,10 @@ int cellPamfReaderGetPresentationEndTime(vm::ptr<CellPamfReader> pSelf, vm::ptr<
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetPresentationEndTime(pSelf=0x%x, pTimeStamp_addr=0x%x)", pSelf.addr(), pTimeStamp.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
const u32 upper = (u16)pAddr->end_pts_high;
|
||||
pTimeStamp->upper = upper;
|
||||
@ -218,6 +226,10 @@ int cellPamfReaderGetMuxRateBound(vm::ptr<CellPamfReader> pSelf)
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetMuxRateBound(pSelf=0x%x)", pSelf.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
return pAddr->mux_rate_max;
|
||||
}
|
||||
@ -226,6 +238,10 @@ int cellPamfReaderGetNumberOfStreams(vm::ptr<CellPamfReader> pSelf)
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetNumberOfStreams(pSelf=0x%x)", pSelf.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
return pAddr->stream_count;
|
||||
}
|
||||
@ -233,6 +249,10 @@ int cellPamfReaderGetNumberOfStreams(vm::ptr<CellPamfReader> pSelf)
|
||||
int cellPamfReaderGetNumberOfSpecificStreams(vm::ptr<CellPamfReader> pSelf, u8 streamType)
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetNumberOfSpecificStreams(pSelf=0x%x, streamType=%d)", pSelf.addr(), streamType);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
@ -265,6 +285,10 @@ int cellPamfReaderSetStreamWithIndex(vm::ptr<CellPamfReader> pSelf, u8 streamInd
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderSetStreamWithIndex(pSelf=0x%x, streamIndex=%d)", pSelf.addr(), streamIndex);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
if (streamIndex < pAddr->stream_count)
|
||||
@ -283,6 +307,10 @@ int cellPamfReaderSetStreamWithTypeAndChannel(vm::ptr<CellPamfReader> pSelf, u8
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderSetStreamWithTypeAndChannel(pSelf=0x%x, streamType=%d, ch=%d)", pSelf.addr(), streamType, ch);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
if (streamType > 5)
|
||||
@ -311,6 +339,10 @@ int cellPamfReaderSetStreamWithTypeAndIndex(vm::ptr<CellPamfReader> pSelf, u8 st
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderSetStreamWithTypeAndIndex(pSelf=0x%x, streamType=%d, streamIndex=%d)", pSelf.addr(), streamType, streamIndex);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
u32 found = 0;
|
||||
@ -390,6 +422,10 @@ int cellPamfReaderGetStreamInfo(vm::ptr<CellPamfReader> pSelf, u32 pInfo_addr, u
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetStreamInfo(pSelf=0x%x, stream=%d, pInfo_addr=0x%x, size=%d)", pSelf.addr(), pSelf->stream, pInfo_addr, size);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
memset(vm::get_ptr<void>(pInfo_addr), 0, size);
|
||||
@ -497,6 +533,10 @@ int cellPamfReaderGetNumberOfEp(vm::ptr<CellPamfReader> pSelf)
|
||||
{
|
||||
cellPamf->Warning("cellPamfReaderGetNumberOfEp(pSelf=0x%x, stream=%d)", pSelf.addr(), pSelf->stream);
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
return pAddr->stream_headers[pSelf->stream].ep_num;
|
||||
}
|
||||
@ -505,6 +545,10 @@ int cellPamfReaderGetEpIteratorWithIndex(vm::ptr<CellPamfReader> pSelf, u32 epIn
|
||||
{
|
||||
cellPamf->Todo("cellPamfReaderGetEpIteratorWithIndex(pSelf=0x%x, stream=%d, epIndex=%d, pIt_addr=0x%x)", pSelf.addr(), pSelf->stream, epIndex, pIt.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
//TODO:
|
||||
return CELL_OK;
|
||||
@ -514,6 +558,10 @@ int cellPamfReaderGetEpIteratorWithTimeStamp(vm::ptr<CellPamfReader> pSelf, vm::
|
||||
{
|
||||
cellPamf->Todo("cellPamfReaderGetEpIteratorWithTimeStamp(pSelf=0x%x, pTimeStamp_addr=0x%x, pIt_addr=0x%x)", pSelf.addr(), pTimeStamp.addr(), pIt.addr());
|
||||
|
||||
if (!pSelf->pAddr) {
|
||||
return CELL_PAMF_ERROR_INVALID_PAMF;
|
||||
}
|
||||
|
||||
vm::ptr<const PamfHeader> pAddr(pSelf->pAddr);
|
||||
|
||||
//TODO:
|
||||
|
Loading…
x
Reference in New Issue
Block a user