Don't crash on failed Shm mapping

This commit is contained in:
Oskari Alaranta 2026-02-21 17:15:02 +02:00
parent a13b8617dc
commit ccb2507ac3
1 changed files with 13 additions and 1 deletions

View File

@ -101,7 +101,19 @@ static BAN::ErrorOr<void> extension_shm(Client& client_info, BAN::ConstByteSpan
dprintln(" readOnly: {}", request.readOnly);
void* addr = shmat(request.shmid, nullptr, request.readOnly ? SHM_RDONLY : 0);
ASSERT(addr != (void*)-1);
if (addr == (void*)-1)
{
xError error {
.type = X_Error,
.errorCode = static_cast<BYTE>(s_shm_error_base + BadShmSeg),
.sequenceNumber = client_info.sequence,
.resourceID = request.shmseg,
.minorCode = op_minor,
.majorCode = op_major,
};
TRY(encode(client_info.output_buffer, error));
return {};
}
TRY(client_info.objects.insert(request.shmseg));
TRY(g_objects.insert(