[*] Protocol stack: harden these/check for out of memory
This commit is contained in:
parent
cef8259bb1
commit
efd4da861a
@ -138,7 +138,15 @@ namespace Aurora::IO::Protocol
|
||||
|
||||
EStreamError Write(const Memory::MemoryViewStreamRead ¶meters) override
|
||||
{
|
||||
return pStack.lock()->DoTick(AuMakeSharedThrow<AuByteBuffer>(parameters), pParent.lock()) ?
|
||||
auto pCopy = AuMakeShared<AuByteBuffer>(parameters);
|
||||
|
||||
if (!pCopy ||
|
||||
!(*pCopy.get()))
|
||||
{
|
||||
return EStreamError::eErrorOutOfMemory;
|
||||
}
|
||||
|
||||
return pStack.lock()->DoTick(pCopy, pParent.lock()) ?
|
||||
EStreamError::eErrorNone :
|
||||
EStreamError::eErrorStreamInterrupted;
|
||||
}
|
||||
@ -279,7 +287,15 @@ namespace Aurora::IO::Protocol
|
||||
|
||||
EStreamError Write(const Memory::MemoryViewStreamRead ¶meters) override
|
||||
{
|
||||
return pStack.lock()->DoTick(AuMakeSharedThrow<AuByteBuffer>(parameters), pParent.lock()) ?
|
||||
auto pCopy = AuMakeShared<AuByteBuffer>(parameters);
|
||||
|
||||
if (!pCopy ||
|
||||
!(*pCopy.get()))
|
||||
{
|
||||
return EStreamError::eErrorOutOfMemory;
|
||||
}
|
||||
|
||||
return pStack.lock()->DoTick(pCopy, pParent.lock()) ?
|
||||
EStreamError::eErrorNone :
|
||||
EStreamError::eErrorStreamInterrupted;
|
||||
}
|
||||
@ -390,7 +406,15 @@ namespace Aurora::IO::Protocol
|
||||
|
||||
EStreamError Write(const Memory::MemoryViewStreamRead ¶meters) override
|
||||
{
|
||||
return pStack.lock()->DoTick(AuMakeSharedThrow<AuByteBuffer>(parameters), pParent.lock()) ?
|
||||
auto pCopy = AuMakeShared<AuByteBuffer>(parameters);
|
||||
|
||||
if (!pCopy ||
|
||||
!(*pCopy.get()))
|
||||
{
|
||||
return EStreamError::eErrorOutOfMemory;
|
||||
}
|
||||
|
||||
return pStack.lock()->DoTick(pCopy, pParent.lock()) ?
|
||||
EStreamError::eErrorNone :
|
||||
EStreamError::eErrorStreamInterrupted;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user