X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FInterfaces%2FUDI%2Fudi_lib%2Fcore%2Fmei.c;h=29217ac8cb3e5b981f5562570ebba1e6c07aa35f;hb=bf4936e107e62b9c03e8cbf78395ef462e50fb47;hp=051df92b756fc9eec8e9557bd858700517691665;hpb=a335dd47727c40467c1ff7fc256c9061c0398d05;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c index 051df92b..29217ac8 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c @@ -35,7 +35,7 @@ void udi_mei_call(udi_cb_t *gcb, udi_mei_init_t *meta_info, udi_index_t meta_ops for( ; ops->meta_ops_num && ops->meta_ops_num != meta_ops_num; ops ++ ) ; if( !ops->meta_ops_num ) { - LEAVE('-'); +// LEAVE('-'); return ; } mei_op = &ops->op_template_list[vec_idx-1]; @@ -82,6 +82,11 @@ void udi_mei_call(udi_cb_t *gcb, udi_mei_init_t *meta_info, udi_index_t meta_ops va_list args; va_start(args, vec_idx); size_t marshal_size = _udi_marshal_values(NULL, mei_op->marshal_layout, args); + if( marshal_size == 0 && mei_op->marshal_layout[0] != UDI_DL_END ) { + Warning("udi_mei_call(%s) - Marshalling failure", mei_op->op_name); +// LEAVE('-'); + return ; + } va_end(args); tUDI_MeiCall *call = malloc(sizeof(tUDI_MeiCall) + marshal_size); call->DCall.Next = NULL;