req.WriteU16(Window->m_id);
CDeserialiser response = GetSyncReply(req, IPCMSG_GETWINBUF);
- if( response.ReadU16() != Window->m_id )
+ unsigned int rspwin = response.ReadU16();
+ if( rspwin != Window->m_id )
{
-
+ _SysDebug("AxWin4_GetWindowBuffer: GETWINBUF reply for different window (%u != %u)", rspwin, Window->m_id);
+ return NULL;
}
uint64_t handle = response.ReadU64();
Window->m_fd = _SysUnMarshalFD(handle);
+ if( Window->m_fd == -1 ) {
+ _SysDebug("AxWin4_GetWindowBuffer: Unable to unmarshal resultant FD (0x%llx)", handle);
+ return NULL;
+ }
_SysDebug("AxWin4_GetWindowBuffer: %llx = %i", handle, Window->m_fd);
}