vfb: NULL out pXWDHeader after free in freeScreenInfo

freeScreenInfo() is called from ddxGiveUp() during normal server
shutdown. If the server then aborts (e.g. due to the leak sanitizer
detecting leaks at exit), the signal handler calls AbortServer() which
calls ddxGiveUp() again, causing a double-free of pXWDHeader.

NULL out the pointer after freeing it to make the second call a no-op.
This commit is contained in:
Peter Hutterer 2026-06-01 21:09:59 +10:00
parent 2f983aa821
commit 3ab0b8834c

View file

@ -187,6 +187,7 @@ freeScreenInfo(vfbScreenInfoPtr pvfb)
case NORMAL_MEMORY_FB:
free(pvfb->pXWDHeader);
pvfb->pXWDHeader = NULL;
break;
}
}