[OSX] Fix "SIGILL: illegal instruction" on macOS Catalina

on OSX, strncpy may copy to overlapping (protected) memory. this
sometimes happens when loading WAD files.

This patch eliminates these problems for me
This commit is contained in:
Kimberly Wilber 2020-08-15 12:09:41 -04:00
parent a772096757
commit 1bfcec9242

View file

@ -150,7 +150,10 @@ FILE *W_OpenWadFile(const char **filename, boolean useerrors)
{ {
FILE *handle; FILE *handle;
strncpy(filenamebuf, *filename, MAX_WADPATH); if (filenamebuf != *filename) {
// avoid overlap
strncpy(filenamebuf, *filename, MAX_WADPATH);
}
filenamebuf[MAX_WADPATH - 1] = '\0'; filenamebuf[MAX_WADPATH - 1] = '\0';
*filename = filenamebuf; *filename = filenamebuf;