From: Jean-Marc Lasgouttes Date: Mon, 13 Mar 2017 17:16:27 +0000 (+0100) Subject: Only accept non-negative lyxscale parameters X-Git-Tag: 2.3.0alpha1~216 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=7d4b8b76068160afe9acd09896866cd46912104d;p=features.git Only accept non-negative lyxscale parameters Since lyxscale is unsigned, a negative value would lead to a very large positive value. Spotted by coverity. --- diff --git a/src/insets/InsetExternal.cpp b/src/insets/InsetExternal.cpp index 3b79249cc0..a88769b8ee 100644 --- a/src/insets/InsetExternal.cpp +++ b/src/insets/InsetExternal.cpp @@ -289,17 +289,23 @@ bool InsetExternalParams::read(Buffer const & buffer, Lexer & lex) filename = buffer.getReferencedFileName(name); break; } - + case EX_DISPLAY: { lex.next(); display = lex.getString() != "false"; break; } - case EX_LYXSCALE: + case EX_LYXSCALE: { lex.next(); - lyxscale = lex.getInteger(); + int const ls = lex.getInteger(); + // negative values are not accepted. + if (ls >= 0) + lyxscale = ls; + else + lex.printError("ExternalInset::read: Wrong lyxscale: $$Token"); break; + } case EX_DRAFT: draft = true; @@ -379,8 +385,6 @@ bool InsetExternalParams::read(Buffer const & buffer, Lexer & lex) if (lyxerr.debugging(Debug::EXTERNAL)) { lyxerr << "InsetExternalParams::read:\n"; - // false positive - // coverity[NEGATIVE_RETURNS] write(buffer, lyxerr); }