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