函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |