diff --git a/src/asm/section.cpp b/src/asm/section.cpp index ffc29609..24dd943d 100644 --- a/src/asm/section.cpp +++ b/src/asm/section.cpp @@ -934,8 +934,14 @@ bool sect_BinaryFile(std::string const &name, uint32_t startPos) { Defer closeFile{[&] { fclose(file); }}; if (fseek(file, 0, SEEK_END) == 0) { - if (startPos > ftell(file)) { - error("Specified start position is greater than length of file \"%s\"", name.c_str()); + if (unsigned long fsize = ftell(file); + startPos > fsize) { // `ftell` cannot fail here, since `fseek` succeeded. + error( + "Specified start position (%" PRIu32 ") is greater than length of \"%s\" (%lu)", + startPos, + name.c_str(), + fsize + ); return false; } // The file is seekable; skip to the specified start position @@ -989,8 +995,14 @@ bool sect_BinaryFileSlice(std::string const &name, uint32_t startPos, uint32_t l Defer closeFile{[&] { fclose(file); }}; if (fseek(file, 0, SEEK_END) == 0) { - if (long fsize = ftell(file); startPos > fsize) { - error("Specified start position is greater than length of file \"%s\"", name.c_str()); + if (unsigned long fsize = ftell(file); + startPos > fsize) { // `ftell` cannot fail here, since `fseek` succeeded. + error( + "Specified start position (%" PRIu32 ") is greater than length of \"%s\" (%lu)", + startPos, + name.c_str(), + fsize + ); return false; } else if (startPos + length > fsize) { error( diff --git a/test/asm/incbin-start-bad.err b/test/asm/incbin-start-bad.err index f5e8c599..b32c937d 100644 --- a/test/asm/incbin-start-bad.err +++ b/test/asm/incbin-start-bad.err @@ -1,5 +1,5 @@ -error: Specified start position is greater than length of file "data.bin" +error: Specified start position (999) is greater than length of "data.bin" (123) at incbin-start-bad.asm(3) -error: Specified start position is greater than length of file "data.bin" +error: Specified start position (999) is greater than length of "data.bin" (123) at incbin-start-bad.asm(4) Assembly aborted with 2 errors diff --git a/test/gfx/rgbgfx_test.cpp b/test/gfx/rgbgfx_test.cpp index f1f1a177..8691d80e 100644 --- a/test/gfx/rgbgfx_test.cpp +++ b/test/gfx/rgbgfx_test.cpp @@ -320,7 +320,7 @@ static char *execProg(char const *name, char * const *argv) { nullptr, errnum, 0, - (LPTSTR)&buf, + reinterpret_cast(&buf), 0, nullptr ) @@ -341,7 +341,8 @@ static char *execProg(char const *name, char * const *argv) { STARTUPINFOA startupInfo; GetStartupInfoA(&startupInfo); - STARTUPINFOA childStartupInfo = {sizeof(startupInfo)}; + STARTUPINFOA childStartupInfo = {}; + childStartupInfo.cb = sizeof(startupInfo); PROCESS_INFORMATION child; if (CreateProcessA(