@@ -259,27 +259,36 @@ _Py_RemoteDebug_AliasedRead(RemoteUnwinderObject *unwinder,
259259{
260260 AliasReadCache * cache = & unwinder -> alias_cache ;
261261 if (len == 0 ) {
262- return 0 ;
262+ return 1 ;
263263 }
264264 if (cache -> disabled ) {
265- return _Py_RemoteDebug_ReadRemoteMemory (
266- & unwinder -> handle , remote_addr , len , dst );
265+ if (_Py_RemoteDebug_ReadRemoteMemory (
266+ & unwinder -> handle , remote_addr , len , dst ) < 0 ) {
267+ return -1 ;
268+ }
269+ return 1 ;
267270 }
268271
269272 size_t page_size = (size_t )unwinder -> handle .page_size ;
270273 uintptr_t page_base = remote_addr & ~(uintptr_t )(page_size - 1 );
271274 size_t offset = (size_t )(remote_addr - page_base );
272275 if (offset >= page_size || len > page_size - offset ) {
273- return _Py_RemoteDebug_ReadRemoteMemory (
274- & unwinder -> handle , remote_addr , len , dst );
276+ if (_Py_RemoteDebug_ReadRemoteMemory (
277+ & unwinder -> handle , remote_addr , len , dst ) < 0 ) {
278+ return -1 ;
279+ }
280+ return 1 ;
275281 }
276282
277283 AliasPageEntry * entry = alias_find_entry (unwinder , page_base );
278284 if (entry != NULL ) {
279285 int probe = alias_maybe_probe_entry (unwinder , entry );
280286 if (probe < 0 ) {
281- return _Py_RemoteDebug_ReadRemoteMemory (
282- & unwinder -> handle , remote_addr , len , dst );
287+ if (_Py_RemoteDebug_ReadRemoteMemory (
288+ & unwinder -> handle , remote_addr , len , dst ) < 0 ) {
289+ return -1 ;
290+ }
291+ return 1 ;
283292 }
284293 if (probe == 0 ) {
285294 PyErr_SetString (PyExc_RuntimeError ,
@@ -296,8 +305,11 @@ _Py_RemoteDebug_AliasedRead(RemoteUnwinderObject *unwinder,
296305
297306 STATS_INC (unwinder , alias_misses );
298307 if (alias_remap_page (unwinder , page_base , & entry ) < 0 ) {
299- return _Py_RemoteDebug_ReadRemoteMemory (
300- & unwinder -> handle , remote_addr , len , dst );
308+ if (_Py_RemoteDebug_ReadRemoteMemory (
309+ & unwinder -> handle , remote_addr , len , dst ) < 0 ) {
310+ return -1 ;
311+ }
312+ return 1 ;
301313 }
302314 memcpy (dst , (const char * )entry -> local_page_base + offset , len );
303315 return 0 ;
0 commit comments