0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-19 20:32:15 +02:00

UI: Don't allow resolutions too large

Fixes a crash when entering large resolutions, and also works as a minor
sanity check against bad resolution values.
This commit is contained in:
Clayton Groeneveld 2020-01-22 15:14:05 -06:00 committed by jp9000
parent 83df7d1635
commit 765bb34641

View File

@ -95,6 +95,11 @@ struct CodecDesc {
Q_DECLARE_METATYPE(FormatDesc)
Q_DECLARE_METATYPE(CodecDesc)
static inline bool ResTooHigh(uint32_t cx, uint32_t cy)
{
return cx > 16384 || cy > 16384;
}
/* parses "[width]x[height]", string, i.e. 1024x768 */
static bool ConvertResText(const char *res, uint32_t &cx, uint32_t &cy)
{
@ -129,6 +134,11 @@ static bool ConvertResText(const char *res, uint32_t &cx, uint32_t &cy)
if (lexer_getbasetoken(lex, &token, IGNORE_WHITESPACE))
return false;
if (ResTooHigh(cx, cy)) {
cx = cy = 0;
return false;
}
return true;
}