Applied patch from Darryl Miles that prevents a segfault on an
error in "extresist". The underlying error still exists and causes a "Bad Device" error but no longer crashes magic. See github Issue #353.
This commit is contained in:
parent
df19d62f51
commit
f80540af46
|
|
@ -55,6 +55,13 @@ ResNewSDDevice(tile, tp, xj, yj, direction, PendingList)
|
||||||
tileJunk *j;
|
tileJunk *j;
|
||||||
|
|
||||||
newnode = FALSE;
|
newnode = FALSE;
|
||||||
|
|
||||||
|
/* Watch for invalid client data. If found, a "Bad Device" error will
|
||||||
|
* be generated which means "more debugging needed"; however, it will
|
||||||
|
* not cause a segmentation violation.
|
||||||
|
*/
|
||||||
|
if (tp->ti_client == CLIENTDEFAULT) return;
|
||||||
|
|
||||||
j = (tileJunk *) tp->ti_client;
|
j = (tileJunk *) tp->ti_client;
|
||||||
resDev = j->deviceList;
|
resDev = j->deviceList;
|
||||||
if ((j->sourceEdge & direction) != 0)
|
if ((j->sourceEdge & direction) != 0)
|
||||||
|
|
|
||||||
|
|
@ -1725,7 +1725,12 @@ ResGetDevice(pt, type)
|
||||||
return (((tileJunk *)tile->ti_client)->deviceList);
|
return (((tileJunk *)tile->ti_client)->deviceList);
|
||||||
}
|
}
|
||||||
else if (TTMaskHasType(&ExtCurStyle->exts_deviceMask, TiGetType(tile)))
|
else if (TTMaskHasType(&ExtCurStyle->exts_deviceMask, TiGetType(tile)))
|
||||||
return (((tileJunk *)tile->ti_client)->deviceList);
|
{
|
||||||
|
/* Failure to have a valid client data will result in a "Bad Device"
|
||||||
|
* error and indicates a problem that needs debugging.
|
||||||
|
*/
|
||||||
|
if (tile->ti_client != CLIENTDEFAULT)
|
||||||
|
return (((tileJunk *)tile->ti_client)->deviceList);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue