函数逻辑报告 | 
Source Code:security\apparmor\match.c | 
Create Date:2022-07-27 21:28:47 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:aa_dfa_unpack - unpack the binary tables of a serialized dfa*@blob: aligned serialized stream of data to unpack (NOT NULL)*@size: size of data to unpack*@flags: flags controlling what type of accept tables are acceptable
函数原型:struct aa_dfa *aa_dfa_unpack(void *blob, size_t size, int flags)
返回类型:struct aa_dfa
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| void * | blob | |
| size_t | size | |
| int | flags | 
| 286 | struct table_header * table = NULL | 
| 291 | 初始化对象 | 
| 296 | 如果size小于sizeof(structtable_set_header)则转到:fail | 
| 307 | 如果flags不等于0且flags不等于YYTH_FLAG_DIFF_ENCODE则转到:fail | 
| 320 | 如果非td_flags按位与ACCEPT & ACCEPT2 tables gets 6 dedicated flags, YYTD_DATAX define the* first flags(flags)的值则转到:fail | 
| 322 | 退出 | 
| 323 | 当:td_id恒等于YYTD_ID_ACCEPT2 | 
| 324 | 如果非td_flags按位与ACCEPT2_FLAGS(flags)的值则转到:fail | 
| 326 | 退出 | 
| 327 | 当:td_id恒等于YYTD_ID_BASE | 
| 328 | 如果td_flags不等于YYTD_DATA32则转到:fail | 
| 330 | 退出 | 
| 331 | 当:td_id恒等于YYTD_ID_DEF | 
| 332 | 当:td_id恒等于YYTD_ID_NXT | 
| 333 | 当:td_id恒等于YYTD_ID_CHK | 
| 334 | 如果td_flags不等于YYTD_DATA16则转到:fail | 
| 336 | 退出 | 
| 337 | 当:td_id恒等于YYTD_ID_EC | 
| 338 | 如果td_flags不等于YYTD_DATA8则转到:fail | 
| 340 | 退出 | 
| 341 | 默认 | 
| 342 | 转到:fail | 
| 348 | data加等于table_size(td_lolen, td_flags) | 
| 349 | size减等于table_size(td_lolen, td_flags) | 
| 350 | table = NULL | 
| 356 | 如果flags按位与DFA_FLAG_VERIFY_STATES则 | 
| 362 | 返回:dfa | 
| 364 | fail : | 
| 367 | 返回:错误号 | 
| 名称 | 描述 | 
|---|---|
| aa_setup_dfa_engine | |
| unpack_dfa | pack_dfa - unpack a file rule dfa*@e: serialized data extent information (NOT NULL)* returns dfa or ERR_PTR or NULL if no dfa | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |