Zebediah Figura (@zfigura) commented about dlls/msado15/tests/msado15.c:
+ + /* + * 32 bit Windows has a default driver for "Microsoft Access Driver" (Windows 7+) + * and has the ability to create files on the fly. + * + * 64 bit Windows ONLY has a driver for "SQL Server", which we cannot use since we don't have a + * server to connect to. + * + * The filename passed to CREATE_DB must end in mdb. + */ + GetTempPathA(sizeof(mdbpath), mdbpath); + strcat(mdbpath, "wine_msado15.mdb"); + + driver = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof("DSN=wine_msado15\0CREATE_DB=") + strlen(mdbpath) + 2); + memcpy(driver, "DSN=wine_msado15\0CREATE_DB=", sizeof("DSN=wine_msado15\0CREATE_DB=")); + strcat(driver+sizeof("DSN=wine_msado15\0CREATE_DB=")-1, mdbpath); You're using "strcat" but manually calculating the length; probably this should be strcpy() in that case?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2498#note_32768