Fixed stack buffer overflow in Qt GUI loading a ROM with a large filepath from file dialog.

This commit is contained in:
harry 2023-01-16 09:44:32 -05:00
parent 3564f61849
commit ba47f169ca
1 changed files with 6 additions and 5 deletions

View File

@ -43,26 +43,27 @@ static void MessageOutput(QtMsgType type, const QMessageLogContext &context, con
switch (type)
{
case QtDebugMsg:
sprintf( cmsg, "Qt Debug: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
snprintf( cmsg, sizeof(cmsg), "Qt Debug: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
FCEUD_Message(cmsg);
break;
case QtInfoMsg:
sprintf( cmsg, "Qt Info: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
snprintf( cmsg, sizeof(cmsg), "Qt Info: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
FCEUD_Message(cmsg);
break;
case QtWarningMsg:
sprintf( cmsg, "Qt Warning: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
snprintf( cmsg, sizeof(cmsg), "Qt Warning: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
FCEUD_Message(cmsg);
break;
case QtCriticalMsg:
sprintf( cmsg, "Qt Critical: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
snprintf( cmsg, sizeof(cmsg), "Qt Critical: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
FCEUD_PrintError(cmsg);
break;
case QtFatalMsg:
sprintf( cmsg, "Qt Fatal: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
snprintf( cmsg, sizeof(cmsg), "Qt Fatal: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function);
FCEUD_PrintError(cmsg);
break;
}
cmsg[sizeof(cmsg)-1] = 0;
fprintf(stderr, "%s", cmsg );
}