commit - 3fd51250be8cd6f6ac5df5342d3b81e6ed1c01a9
commit + 148f25d3517dcdb32c566506e0cb0d6e632e4d23
blob - c1fbe5a2ab15de2a21ef65eed46c9fda52c7d029
blob + 53e9605bb96d97003d81f98926460d70060fe6ce
--- src/libdraw/alloc.c
+++ src/libdraw/alloc.c
{
int ret;
+ if(i == screen)
+ abort();
+
ret = _freeimage1(i);
free(i);
return ret;
blob - 2fe18d21d2dea30573833f1456713240237a8128
blob + 2357f0ef28961cd06d30730c2e60dc0a2f756a65
--- src/libdraw/init.c
+++ src/libdraw/init.c
{
uchar *p;
- if(n<0 || n>d->bufsize){
-abort();
+ if(n<0 || d == nil || n>d->bufsize){
+ abort();
werrstr("bad count in bufimage");
return 0;
}
blob - 72292671be56beebf3965c4d2db42c83636e2397
blob + a640e2eeeb50d568ed3d195a0a7bb603888e9177
--- src/libdraw/x11-init.c
+++ src/libdraw/x11-init.c
Image *i;
Image *oi;
- if(_x.destroyed)
+ if(_x.destroyed){
postnote(PNGROUP, getpgrp(), "hangup");
+ return -1;
+ }
if(xreplacescreenimage() == 0)
return 0;