summaryrefslogtreecommitdiff
path: root/src/lib/eolian
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-08-01 16:47:52 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-08-01 16:55:31 +0200
commit1bcca58d826a2d8fcd88b529b8e5863c6f54ec47 (patch)
tree5c5db53ccd118aa175b45949b791189b32b73a5a /src/lib/eolian
parentadaea4170af0268f7d2b69cba4c62bbc9a7396a9 (diff)
eolian: disallow ptr() in containers in stable API
Diffstat (limited to 'src/lib/eolian')
-rw-r--r--src/lib/eolian/database_validate.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index ff36d71a3e..c5945724ef 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -255,6 +255,13 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
255 /* validate types in brackets so transitive fields get written */ 255 /* validate types in brackets so transitive fields get written */
256 while (itp) 256 while (itp)
257 { 257 {
258 if (vals->stable && itp->is_ptr)
259 {
260 _eo_parser_log(&itp->base,
261 "pointer types not allowed in '%s' in stable context",
262 tp->base.name);
263 return EINA_FALSE;
264 }
258 if (!_validate_type(vals, itp)) 265 if (!_validate_type(vals, itp))
259 return EINA_FALSE; 266 return EINA_FALSE;
260 itp = itp->next_type; 267 itp = itp->next_type;