eolian: prevent parsing when eo file version is too new

This commit is contained in:
Daniel Kolesa 2019-05-26 18:30:02 +02:00
parent b4dd54617f
commit 21790b055b
2 changed files with 5 additions and 0 deletions

View File

@ -84,6 +84,9 @@ extern "C" {
#ifdef EFL_BETA_API_SUPPORT
/* The maximum format version supported by this version of Eolian */
#define EOLIAN_FILE_FORMAT_VERSION 1
/* State information
*
* Possible to cast to Eolian_Unit and use as such, as this represents

View File

@ -2300,6 +2300,8 @@ parse_chunk(Eo_Lexer *ls, Eina_Bool eot)
eo_lexer_syntax_error(ls, "#version too low");
ls->unit->version = (unsigned short)(ls->t.value.u);
if (ls->unit->version > EOLIAN_FILE_FORMAT_VERSION)
eo_lexer_syntax_error(ls, "file version too new for this version of Eolian");
eo_lexer_get(ls);
break;
}