set_stmt/set_func: fix validation
[m6w6/ext-psi] / src / libjit.c
index 52562affe239d8b79dd3201e5883700b61426079..ceafb3184c438f5f7f626e852b351df0324e9224 100644 (file)
@@ -60,11 +60,8 @@ static inline jit_type_t psi_jit_token_type(token_t t)
                return jit_type_ulong;
        case PSI_T_BOOL:
                return jit_type_sys_bool;
-       case PSI_T_INT:
        case PSI_T_ENUM:
                return jit_type_sys_int;
-       case PSI_T_LONG:
-               return jit_type_sys_long;
        case PSI_T_FLOAT:
                return jit_type_sys_float;
        case PSI_T_DOUBLE:
@@ -151,7 +148,7 @@ static unsigned psi_jit_struct_type_elements(struct psi_decl_struct *strct,
                        maxalign = alignment;
                }
 
-               assert(jit_type_get_size(type) == darg->layout->len);
+               assert(jit_type_get_size(type) <= darg->layout->len);
                if ((padding = psi_offset_padding(darg->layout->pos - offset, alignment))) {
                        if (nels + padding > argc) {
                                argc += padding;