linux/security/tomoyo/condition.c
<<
6.3/spa 6.3/form 6.3a 6. href="../linux+v3.7.5/security/tomoyo/condi > .c"> 6.3img src="../.static/gfx/right.png" alt=">>"> 3/spa 3spa class="lxr_search"> ="+search" method="post" onsubmit="return do_search(this);"> 6.3input typn> hidden" namn> navtarget" ption> "> 6.3input typn> text" namn> search" id> search"> 6.3butt submit">Search 6.Prefs 6.3/a> 3/spa 6. .3/div 6. .3form ac > ="ajax+*" method="post" onsubmit="return false;"> 3input typn> hidden" namn> ajax_lookup" id> ajax_lookup" ption> "> 6. .3/form 6. .3div class="headingbott
search_results" class="search_results" 6 6. .3/div 3div id> content"> 3div id> file_contents"
df/2a/e5d2fb1ea9a722dbf2a71a69292a2c9f1599_3/0" 
L1" class="line" namn>
L1">. .13/a>3spa
 class="comment">/*3/spa
  
L2" class="line" namn>
L2">. .23/a>3spa
 class="comment"> * security/tomoyo/condi  >
.c3/spa
  
L3" class="line" namn>
L3">. .33/a>3spa
 class="comment"> *3/spa
  
L4" class="line" namn>
L4">. .43/a>3spa
 class="comment"> * Copyright (C) 2005-2011  NTT DATA CORPORATION3/spa
  
L5" class="line" namn>
L5">. .53/a>3spa
 class="comment"> */3/spa
  
L6" class="line" namn>
L6">. .63/a> 
L7" class="line" namn>
L7">. .73/a>#include "comm>
.h3/a>" 
L8" class="line" namn>
L8">. .83/a>#include <linux/slab.h3/a>> 
L9" class="line" namn>
L9">. .93/a> 
L10" class="line" namn>
L10">.   3spa
 class="comment">/* List of "struct tomoyo_condi  >
". */3/spa
  
L11" class="line" namn>
L11">. 113/a>3a href="+code=LIST_HEAD" class="sref">LIST_HEAD3/a>(3a href="+code=tomoyo_condi  >
_list" class="sref">tomoyo_condi  >
_list3/a>); 
L12" class="line" namn>
L12">. 123/a> 
L13" class="line" namn>
L13">. 133/a>3spa
 class="comment">/**3/spa
  
L14" class="line" namn>
L14">. 143/a>3spa
 class="comment"> * tomoyo_argv - Check argv[] in "struct linux_binbrm".3/spa
  
L15" class="line" namn>
L15">. 153/a>3spa
 class="comment"> *3/spa
  
L16" class="line" namn>
L16">. 163/a>3spa
 class="comment"> * @index:. .Index number of @arg_ptr.3/spa
  
L17" class="line" namn>
L17">. 173/a>3spa
 class="comment"> * @arg_ptr: Contents of argv[@index].3/spa
  
L18" class="line" namn>
L18">. 183/a>3spa
 class="comment"> * @argc:. . Length of @argv.3/spa
  
L19" class="line" namn>
L19">. 193/a>3spa
 class="comment"> * @argv:. . Pointer to "struct tomoyo_argv".3/spa
  
L20" class="line" namn>
L20">. 2 3spa
 class="comment"> * @checked: Set to true if @argv[@index] was found.3/spa
  
L21" class="line" namn>
L21">. 213/a>3spa
 class="comment"> *3/spa
  
L22" class="line" namn>
L22">. 223/a>3spa
 class="comment"> * Returns true 
L23" class="line" namn>
L23">. 233/a>3spa
 class="comment"> */3/spa
  
L24" class="line" namn>
L24">. 243/a>static 3a href="+code=bool" class="sref">bool3/a> 3a href="+code=tomoyo_argv" class="sref">tomoyo_argv3/a>(const unsigned int 3a href="+code=index" class="sref">index3/a>, const char *3a href="+code=arg_ptr" class="sref">arg_ptr3/a>, 
L25" class="line" namn>
L25">. 253/a>                        const int 3a href="+code=argc" class="sref">argc3/a>, const struct 3a href="+code=tomoyo_argv" class="sref">tomoyo_argv3/a> *3a href="+code=argv" class="sref">argv3/a>, 
L26" class="line" namn>
L26">. 263/a>                        3a href="+code=u8" class="sref">u83/a> *3a href="+code=checked" class="sref">checked3/a>) 
L27" class="line" namn>
L27">. 273/a>{ 
L28" class="line" namn>
L28">. 283/a>        int 3a href="+code=i" class="sref">i3/a>; 
L29" class="line" namn>
L29">. 293/a>        struct 3a href="+code=tomoyo_path_info" class="sref">tomoyo_path_info3/a> 3a href="+code=arg" class="sref">arg3/a>; 
L30" class="line" namn>
L30">. 303/a>        3a href="+code=arg" class="sref">arg3/a>.3a href="+code=namn" class="sref">namn3/a> = 3a href="+code=arg_ptr" class="sref">arg_ptr3/a>; 
L31" class="line" namn>
L31">. 313/a>        for (3a href="+code=i" class="sref">i3/a> = 0; 3a href="+code=i" class="sref">i3/a> < 3a href="+code=argc" class="sref">argc3/a>; 3a href="+code=argv" class="sref">argv3/a>++, 3a href="+code=checked" class="sref">checked3/a>++, 3a href="+code=i" class="sref">i3/a>++) { 
L32" class="line" namn>
L32">. 323/a>                3a href="+code=bool" class="sref">bool3/a> 3a href="+code=result" class="sref">result3/a>; 
L33" class="line" namn>
L33">. 333/a>                if (3a href="+code=index" class="sref">index3/a> != 3a href="+code=argv" class="sref">argv3/a>->3a href="+code=index" class="sref">index3/a>) 
L34" class="line" namn>
L34">. 343/a>                        continue; 
L35" class="line" namn>
L35">. 353/a>                *3a href="+code=checked" class="sref">checked3/a> = 1; 
L36" class="line" namn>
L36">. 363/a>                3a href="+code=tomoyo_fill_path_info" class="sref">tomoyo_fill_path_info3/a>(&3a href="+code=arg" class="sref">arg3/a>); 
L37" class="line" namn>
L37">. 373/a>                3a href="+code=result" class="sref">result3/a> = 3a href="+code=tomoyo_path_matches_pattern" class="sref">tomoyo_path_matches_pattern3/a>(&3a href="+code=arg" class="sref">arg3/a>, 3a href="+code=argv" class="sref">argv3/a>->3a href="+code=ption" class="sref">ption3/a>); 
L38" class="line" namn>
L38">. 383/a>                if (3a href="+code=argv" class="sref">argv3/a>->3a href="+code=is_not" class="sref">is_not3/a>) 
L39" class="line" namn>
L39">. 393/a>                        3a href="+code=result" class="sref">result3/a> = !3a href="+code=result" class="sref">result3/a>; 
L40" class="line" namn>
L40">. 403/a>                if (!3a href="+code=result" class="sref">result3/a>) 
L41" class="line" namn>
L41">. 413/a>                        return 3a href="+code=false" class="sref">false3/a>; 
L42" class="line" namn>
L42">. 423/a>        } 
L43" class="line" namn>
L43">. 433/a>        return 3a href="+code=true" class="sref">true3/a>; 
L44" class="line" namn>
L44">. 443/a>} 
L45" class="line" namn>
L45">. 453/a> 
L46" class="line" namn>
L46">. 463/a>3spa
 class="comment">/**3/spa
  
L47" class="line" namn>
L47">. 473/a>3spa
 class="comment"> * tomoyo_envp - Check envp[] in "struct linux_binbrm".3/spa
  
L48" class="line" namn>
L48">. 483/a>3spa
 class="comment"> *3/spa
  
L49" class="line" namn>
L49">. 493/a>3spa
 class="comment"> * @env_namn:  The namn of environment variable.3/spa
  
L50" class="line" namn>
L50">. 5 3spa
 class="comment"> * @env_ption: The ption of environment variable.3/spa
  
L51" class="line" namn>
L51">. 513/a>3spa
 class="comment"> * @envc:. . . Length of @envp.3/spa
  
L52" class="line" namn>
L52">. 523/a>3spa
 class="comment"> * @envp:. . . Pointer to "struct tomoyo_envp".3/spa
  
L53" class="line" namn>
L53">. 533/a>3spa
 class="comment"> * @checked:   Set to true if @envp[@env_namn] was found.3/spa
  
L54" class="line" namn>
L54">. 543/a>3spa
 class="comment"> *3/spa
  
L55" class="line" namn>
L55">. 553/a>3spa
 class="comment"> * Returns true 
L56" class="line" namn>
L56">. 563/a>3spa
 class="comment"> */3/spa
  
L57" class="line" namn>
L57">. 573/a>static 3a href="+code=bool" class="sref">bool3/a> 3a href="+code=tomoyo_envp" class="sref">tomoyo_envp3/a>(const char *3a href="+code=env_namn" class="sref">env_namn3/a>, const char *3a href="+code=env_ption" class="sref">env_ption3/a>, 
L58" class="line" namn>
L58">. 583/a>                        const int 3a href="+code=envc" class="sref">envc3/a>, const struct 3a href="+code=tomoyo_envp" class="sref">tomoyo_envp3/a> *3a href="+code=envp" class="sref">envp3/a>, 
L59" class="line" namn>
L59">. 593/a>                        3a href="+code=u8" class="sref">u83/a> *3a href="+code=checked" class="sref">checked3/a>) 
L60" class="line" namn>
L60">. 603/a>{ 
L61" class="line" namn>
L61">. 613/a>        int 3a href="+code=i" class="sref">i3/a>; 
L62" class="line" namn>
L62">. 623/a>        struct 3a href="+code=tomoyo_path_info" class="sref">tomoyo_path_info3/a> 3a href="+code=namn" class="sref">namn3/a>; 
L63" class="line" namn>
L63">. 633/a>        struct 3a href="+code=tomoyo_path_info" class="sref">tomoyo_path_info3/a> 3a href="+code=ption" class="sref">ption3/a>; 
L64" class="line" namn>
L64">. 643/a>        3a href="+code=namn" class="sref">namn3/a>.3a href="+code=namn" class="sref">namn3/a> = 3a href="+code=env_namn" class="sref">env_namn3/a>; 
L65" class="line" namn>
L65">. 653/a>        3a href="+code=tomoyo_fill_path_info" class="sref">tomoyo_fill_path_info3/a>(&3a href="+code=namn" class="sref">namn3/a>); 
L66" class="line" namn>
L66">. 663/a>        3a href="+code=ption" class="sref">ption3/a>.3a href="+code=namn" class="sref">namn3/a> = 3a href="+code=env_ption" class="sref">env_ption3/a>; 
L67" class="line" namn>
L67">. 673/a>        3a href="+code=tomoyo_fill_path_info" class="sref">tomoyo_fill_path_info3/a>(&3a href="+code=ption" class="sref">ption3/a>); 
L68" class="line" namn>
L68">. 683/a>        for (3a href="+code=i" class="sref">i3/a> = 0; 3a href="+code=i" class="sref">i3/a> < 3a href="+code=envc" class="sref">envc3/a>; 3a href="+code=envp" class="sref">envp3/a>++, 3a href="+code=checked" class="sref">checked3/a>++, 3a href="+code=i" class="sref">i3/a>++) { 
L69" class="line" namn>
L69">. 693/a>                3a href="+code=bool" class="sref">bool3/a> 3a href="+code=result" class="sref">result3/a>; 
L70" class="line" namn>
L70">. 703/a>                if (!3a href="+code=tomoyo_path_matches_pattern" class="sref">tomoyo_path_matches_pattern3/a>(&3a href="+code=namn" class="sref">namn3/a>, 3a href="+code=envp" class="sref">envp3/a>->3a href="+code=namn" class="sref">namn3/a>)) 
L71" class="line" namn>
L71">. 713/a>                        continue; 
L72" class="line" namn>
L72">. 723/a>                *3a href="+code=checked" class="sref">checked3/a> = 1; 
L73" class="line" namn>
L73">. 733/a>                if (3a href="+code=envp" class="sref">envp3/a>->3a href="+code=ption" class="sref">ption3/a>) { 
L74" class="line" namn>
L74">. 743/a>                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=tomoyo_path_matches_pattern" class="sref">tomoyo_path_matches_pattern3/a>(&3a href="+code=ption" class="sref">ption3/a>, 
L75" class="line" namn>
L75">. 753/a>                                                             3a href="+code=envp" class="sref">envp3/a>->3a href="+code=ption" class="sref">ption3/a>); 
L76" class="line" namn>
L76">. 763/a>                        if (3a href="+code=envp" class="sref">envp3/a>->3a href="+code=is_not" class="sref">is_not3/a>) 
L77" class="line" namn>
L77">. 773/a>                                3a href="+code=result" class="sref">result3/a> = !3a href="+code=result" class="sref">result3/a>; 
L78" class="line" namn>
L78">. 783/a>                } else { 
L79" class="line" namn>
L79">. 793/a>                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=true" class="sref">true3/a>; 
L80" class="line" namn>
L80">. 803/a>                        if (!3a href="+code=envp" class="sref">envp3/a>->3a href="+code=is_not" class="sref">is_not3/a>) 
L81" class="line" namn>
L81">. 813/a>                                3a href="+code=result" class="sref">result3/a> = !3a href="+code=result" class="sref">result3/a>; 
L82" class="line" namn>
L82">. 823/a>                } 
L83" class="line" namn>
L83">. 833/a>                if (!3a href="+code=result" class="sref">result3/a>) 
L84" class="line" namn>
L84">. 843/a>                        return 3a href="+code=false" class="sref">false3/a>; 
L85" class="line" namn>
L85">. 853/a>        } 
L86" class="line" namn>
L86">. 863/a>        return 3a href="+code=true" class="sref">true3/a>; 
L87" class="line" namn>
L87">. 873/a>} 
L88" class="line" namn>
L88">. 883/a> 
L89" class="line" namn>
L89">. 893/a>3spa
 class="comment">/**3/spa
  
L90" class="line" namn>
L90">. 9 3spa
 class="comment"> * tomoyo_scan_bprm - Scan "struct linux_binprm".3/spa
  
L91" class="line" namn>
L91">. 913/a>3spa
 class="comment"> *3/spa
  
L92" class="line" namn>
L92">. 923/a>3spa
 class="comment"> * @en:   Pointer to "struct tomoyo_execve".3/spa
  
L93" class="line" namn>
L93">. 933/a>3spa
 class="comment"> * @argc:.Length of @argc.3/spa
  
L94" class="line" namn>
L94">. 943/a>3spa
 class="comment"> * @argv:.Pointer to "struct tomoyo_argv".3/spa
  
L95" class="line" namn>
L95">. 953/a>3spa
 class="comment"> * @envc:.Length of @envp.3/spa
  
L96" class="line" namn>
L96">. 963/a>3spa
 class="comment"> * @envp:.Poiner to "struct tomoyo_envp".3/spa
  
L97" class="line" namn>
L97">. 973/a>3spa
 class="comment"> *3/spa
  
L98" class="line" namn>
L98">. 983/a>3spa
 class="comment"> * Returns true 
L99" class="line" namn>
L99">. 993/a>3spa
 class="comment"> */3/spa
  
L100" class="line" namn>
L100">.1003/a>static 3a href="+code=bool" class="sref">bool3/a> 3a href="+code=tomoyo_scan_bprm" class="sref">tomoyo_scan_bprm3/a>(struct 3a href="+code=tomoyo_execve" class="sref">tomoyo_execve3/a> *3a href="+code=en" class="sref">en3/a>, 
L101" class="line" namn>
L101">.1013/a>                             const 3a href="+code=u16" class="sref">u163/a> 3a href="+code=argc" class="sref">argc3/a>, const struct 3a href="+code=tomoyo_argv" class="sref">tomoyo_argv3/a> *3a href="+code=argv" class="sref">argv3/a>, 
L102" class="line" namn>
L102">.1023/a>                             const 3a href="+code=u16" class="sref">u163/a> 3a href="+code=envc" class="sref">envc3/a>, const struct 3a href="+code=tomoyo_envp" class="sref">tomoyo_envp3/a> *3a href="+code=envp" class="sref">envp3/a>) 
L103" class="line" namn>
L103">.1033/a>{ 
L104" class="line" namn>
L104">.1043/a>        struct 3a href="+code=linux_binprm" class="sref">linux_binprm3/a> *3a href="+code=bprm" class="sref">bprm3/a> = 3a href="+code=en" class="sref">en3/a>->3a href="+code=bprm" class="sref">bprm3/a>; 
L105" class="line" namn>
L105">.1053/a>        struct 3a href="+code=tomoyo_page_dump" class="sref">tomoyo_page_dump3/a> *3a href="+code=dump" class="sref">dump3/a> = &3a href="+code=en" class="sref">en3/a>->3a href="+code=dump" class="sref">dump3/a>; 
L106" class="line" namn>
L106">.1063/a>        char *3a href="+code=arg_ptr" class="sref">arg_ptr3/a> = 3a href="+code=en" class="sref">en3/a>->3a href="+code=tmp" class="sref">tmp3/a>; 
L107" class="line" namn>
L107">.1073/a>        int 3a href="+code=arg_len" class="sref">arg_len3/a> = 0; 
L108" class="line" namn>
L108">.1083/a>        unsigned long 3a href="+code=pos" class="sref">pos3/a> = 3a href="+code=bprm" class="sref">bprm3/a>->3a href="+code=p" class="sref">p3/a>; 
L109" class="line" namn>
L109">.1093/a>        int 3a href="+code=offset" class="sref">offset3/a> = 3a href="+code=pos" class="sref">pos3/a> % 3a href="+code=PAGE_SIZE" class="sref">PAGE_SIZE3/a>; 
L110" class="line" namn>
L110">.1103/a>        int 3a href="+code=argv_count" class="sref">argv_count3/a> = 3a href="+code=bprm" class="sref">bprm3/a>->3a href="+code=argc" class="sref">argc3/a>; 
L111" class="line" namn>
L111">.1113/a>        int 3a href="+code=envp_count" class="sref">envp_count3/a> = 3a href="+code=bprm" class="sref">bprm3/a>->3a href="+code=envc" class="sref">envc3/a>; 
L112" class="line" namn>
L112">.1123/a>        3a href="+code=bool" class="sref">bool3/a> 3a href="+code=result" class="sref">result3/a> = 3a href="+code=true" class="sref">true3/a>; 
L113" class="line" namn>
L113">.1133/a>        3a href="+code=u8" class="sref">u83/a> 3a href="+code=local_checked" class="sref">local_checked3/a>[32]; 
L114" class="line" namn>
L114">.1143/a>        3a href="+code=u8" class="sref">u83/a> *3a href="+code=checked" class="sref">checked3/a>; 
L115" class="line" namn>
L115">.1153/a>        if (3a href="+code=argc" class="sref">argc3/a> + 3a href="+code=envc" class="sref">envc3/a> <= sizeof(3a href="+code=local_checked" class="sref">local_checked3/a>)) { 
L116" class="line" namn>
L116">.1163/a>                3a href="+code=checked" class="sref">checked3/a> = 3a href="+code=local_checked" class="sref">local_checked3/a>; 
L117" class="line" namn>
L117">.1173/a>                3a href="+code=memset" class="sref">memset3/a>(3a href="+code=local_checked" class="sref">local_checked3/a>, 0, sizeof(3a href="+code=local_checked" class="sref">local_checked3/a>)); 
L118" class="line" namn>
L118">.1183/a>        } else { 
L119" class="line" namn>
L119">.1193/a>                3a href="+code=checked" class="sref">checked3/a> = 3a href="+code=kzalloc" class="sref">kzalloc3/a>(3a href="+code=argc" class="sref">argc3/a> + 3a href="+code=envc" class="sref">envc3/a>, 3a href="+code=GFP_NOFS" class="sref">GFP_NOFS3/a>); 
L120" class="line" namn>
L120">.1203/a>                if (!3a href="+code=checked" class="sref">checked3/a>) 
L121" class="line" namn>
L121">.1213/a>                        return 3a href="+code=false" class="sref">false3/a>; 
L122" class="line" namn>
L122">.1223/a>        } 
L123" class="line" namn>
L123">.1233/a>        while (3a href="+code=argv_count" class="sref">argv_count3/a> || 3a href="+code=envp_count" class="sref">envp_count3/a>) { 
L124" class="line" namn>
L124">.1243/a>                if (!3a href="+code=tomoyo_dump_page" class="sref">tomoyo_dump_page3/a>(3a href="+code=bprm" class="sref">bprm3/a>, 3a href="+code=pos" class="sref">pos3/a>, 3a href="+code=dump" class="sref">dump3/a>)) { 
L125" class="line" namn>
L125">.1253/a>                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=false" class="sref">false3/a>; 
L126" class="line" namn>
L126">.1263/a>                        goto 3a href="+code=out" class="sref">out3/a>; 
L127" class="line" namn>
L127">.1273/a>                } 
L128" class="line" namn>
L128">.1283/a>                3a href="+code=pos" class="sref">pos3/a> += 3a href="+code=PAGE_SIZE" class="sref">PAGE_SIZE3/a> - 3a href="+code=offset" class="sref">offset3/a>; 
L129" class="line" namn>
L129">.1293/a>                while (3a href="+code=offset" class="sref">offset3/a> < 3a href="+code=PAGE_SIZE" class="sref">PAGE_SIZE3/a>) { 
L130" class="line" namn>
L130">.1303/a>                        3spa
 class="comment">/* Read. */3/spa
  
L131" class="line" namn>
L131">.1313/a>                        const char *3a href="+code=kaddr" class="sref">kaddr3/a> = 3a href="+code=dump" class="sref">dump3/a>->3a href="+code=data" class="sref">data3/a>; 
L132" class="line" namn>
L132">.1323/a>                        const unsigned char 3a href="+code=c" class="sref">c3/a> = 3a href="+code=kaddr" class="sref">kaddr3/a>[3a href="+code=offset" class="sref">offset3/a>++]; 
L133" class="line" namn>
L133">.1333/a>                        if (3a href="+code=c" class="sref">c3/a> && 3a href="+code=arg_len" class="sref">arg_len3/a> < 3a href="+code=TOMOYO_EXEC_TMPSIZE" class="sref">TOMOYO_EXEC_TMPSIZE3/a> - 10) { 
L134" class="line" namn>
L134">.1343/a>                                if (3a href="+code=c" class="sref">c3/a> == 3spa
 class="string">'\\'3/spa
 ) { 
L135" class="line" namn>
L135">.1353/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = 3spa
 class="string">'\\'3/spa
 ; 
L136" class="line" namn>
L136">.1363/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = 3spa
 class="string">'\\'3/spa
 ; 
L137" class="line" namn>
L137">.1373/a>                                } else if (3a href="+code=c" class="sref">c3/a> > 3spa
 class="string">' '3/spa
  && 3a href="+code=c" class="sref">c3/a> < 127) { 
L138" class="line" namn>
L138">.1383/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = 3a href="+code=c" class="sref">c3/a>; 
L139" class="line" namn>
L139">.1393/a>                                } else { 
L140" class="line" namn>
L140">.1403/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = 3spa
 class="string">'\\'3/spa
 ; 
L141" class="line" namn>
L141">.1413/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = (3a href="+code=c" class="sref">c3/a> >> 6) + 3spa
 class="string">'0'3/spa
 ; 
L142" class="line" namn>
L142">.1423/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = 
L143" class="line" namn>
L143">.1433/a>                                                ((3a href="+code=c" class="sref">c3/a> >> 3) & 7) + 3spa
 class="string">'0'3/spa
 ; 
L144" class="line" namn>
L144">.1443/a>                                        3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>++] = (3a href="+code=c" class="sref">c3/a> & 7) + 3spa
 class="string">'0'3/spa
 ; 
L145" class="line" namn>
L145">.1453/a>                                } 
L146" class="line" namn>
L146">.1463/a>                        } else { 
L147" class="line" namn>
L147">.1473/a>                                3a href="+code=arg_ptr" class="sref">arg_ptr3/a>[3a href="+code=arg_len" class="sref">arg_len3/a>] = 3spa
 class="string">'\0'3/spa
 ; 
L148" class="line" namn>
L148">.1483/a>                        } 
L149" class="line" namn>
L149">.1493/a>                        if (3a href="+code=c" class="sref">c3/a>) 
L150" class="line" namn>
L150">.1503/a>                                continue; 
L151" class="line" namn>
L151">.1513/a>                        3spa
 class="comment">/* Check. */3/spa
  
L152" class="line" namn>
L152">.1523/a>                        if (3a href="+code=argv_count" class="sref">argv_count3/a>) { 
L153" class="line" namn>
L153">.1533/a>                                if (!3a href="+code=tomoyo_argv" class="sref">tomoyo_argv3/a>(3a href="+code=bprm" class="sref">bprm3/a>->3a href="+code=argc" class="sref">argc3/a> - 3a href="+code=argv_count" class="sref">argv_count3/a>, 
L154" class="line" namn>
L154">.1543/a>                                                 3a href="+code=arg_ptr" class="sref">arg_ptr3/a>, 3a href="+code=argc" class="sref">argc3/a>, 3a href="+code=argv" class="sref">argv3/a>, 
L155" class="line" namn>
L155">.1553/a>                                                 3a href="+code=checked" class="sref">checked3/a>)) { 
L156" class="line" namn>
L156">.1563/a>                                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=false" class="sref">false3/a>; 
L157" class="line" namn>
L157">.1573/a>                                        break; 
L158" class="line" namn>
L158">.1583/a>                                } 
L159" class="line" namn>
L159">.1593/a>                                3a href="+code=argv_count" class="sref">argv_count3/a>--; 
L160" class="line" namn>
L160">.1603/a>                        } else if (3a href="+code=envp_count" class="sref">envp_count3/a>) { 
L161" class="line" namn>
L161">.1613/a>                                char *3a href="+code=cp" class="sref">cp3/a> = 3a href="+code=strchr" class="sref">strchr3/a>(3a href="+code=arg_ptr" class="sref">arg_ptr3/a>, 3spa
 class="string">'='3/spa
 ); 
L162" class="line" namn>
L162">.1623/a>                                if (3a href="+code=cp" class="sref">cp3/a>) { 
L163" class="line" namn>
L163">.1633/a>                                        *3a href="+code=cp" class="sref">cp3/a> = 3spa
 class="string">'\0'3/spa
 ; 
L164" class="line" namn>
L164">.1643/a>                                        if (!3a href="+code=tomoyo_envp" class="sref">tomoyo_envp3/a>(3a href="+code=arg_ptr" class="sref">arg_ptr3/a>, 3a href="+code=cp" class="sref">cp3/a> + 1, 
L165" class="line" namn>
L165">.1653/a>                                                         3a href="+code=envc" class="sref">envc3/a>, 3a href="+code=envp" class="sref">envp3/a>, 
L166" class="line" namn>
L166">.1663/a>                                                         3a href="+code=checked" class="sref">checked3/a> + 3a href="+code=argc" class="sref">argc3/a>)) { 
L167" class="line" namn>
L167">.1673/a>                                                3a href="+code=result" class="sref">result3/a> = 3a href="+code=false" class="sref">false3/a>; 
L168" class="line" namn>
L168">.1683/a>                                                break; 
L169" class="line" namn>
L169">.1693/a>                                        } 
L170" class="line" namn>
L170">.1703/a>                                } 
L171" class="line" namn>
L171">.1713/a>                                3a href="+code=envp_count" class="sref">envp_count3/a>--; 
L172" class="line" namn>
L172">.1723/a>                        } else { 
L173" class="line" namn>
L173">.1733/a>                                break; 
L174" class="line" namn>
L174">.1743/a>                        } 
L175" class="line" namn>
L175">.1753/a>                        3a href="+code=arg_len" class="sref">arg_len3/a> = 0; 
L176" class="line" namn>
L176">.1763/a>                } 
L177" class="line" namn>
L177">.1773/a>                3a href="+code=offset" class="sref">offset3/a> = 0; 
L178" class="line" namn>
L178">.1783/a>                if (!3a href="+code=result" class="sref">result3/a>) 
L179" class="line" namn>
L179">.1793/a>                        break; 
L180" class="line" namn>
L180">.1803/a>        } 
L181" class="line" namn>
L181">.1813/a>3a href="+code=out" class="sref">out3/a>: 
L182" class="line" namn>
L182">.1823/a>        if (3a href="+code=result" class="sref">result3/a>) { 
L183" class="line" namn>
L183">.1833/a>                int 3a href="+code=i" class="sref">i3/a>; 
L184" class="line" namn>
L184">.1843/a>                3spa
 class="comment">/* Check not-yet-checked entries. */3/spa
  
L185" class="line" namn>
L185">.1853/a>                for (3a href="+code=i" class="sref">i3/a> = 0; 3a href="+code=i" class="sref">i3/a> < 3a href="+code=argc" class="sref">argc3/a>; 3a href="+code=i" class="sref">i3/a>++) { 
L186" class="line" namn>
L186">.1863/a>                        if (3a href="+code=checked" class="sref">checked3/a>[3a href="+code=i" class="sref">i3/a>]) 
L187" class="line" namn>
L187">.1873/a>                                continue; 
L188" class="line" namn>
L188">.1883/a>                        3spa
 class="comment">/*3/spa
  
L189" class="line" namn>
L189">.1893/a>3spa
 class="comment">                         * Return true 
L190" class="line" namn>
L190">.19 3spa
 class="comment">                         * bprm->argv[] are not matched.3/spa
  
L191" class="line" namn>
L191">.1913/a>3spa
 class="comment">                         */3/spa
  
L192" class="line" namn>
L192">.1923/a>                        if (3a href="+code=argv" class="sref">argv3/a>[3a href="+code=i" class="sref">i3/a>].3a href="+code=is_not" class="sref">is_not3/a>) 
L193" class="line" namn>
L193">.1933/a>                                continue; 
L194" class="line" namn>
L194">.1943/a>                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=false" class="sref">false3/a>; 
L195" class="line" namn>
L195">.1953/a>                        break; 
L196" class="line" namn>
L196">.1963/a>                } 
L197" class="line" namn>
L197">.1973/a>                for (3a href="+code=i" class="sref">i3/a> = 0; 3a href="+code=i" class="sref">i3/a> < 3a href="+code=envc" class="sref">envc3/a>; 3a href="+code=envp" class="sref">envp3/a>++, 3a href="+code=i" class="sref">i3/a>++) { 
L198" class="line" namn>
L198">.1983/a>                        if (3a href="+code=checked" class="sref">checked3/a>[3a href="+code=argc" class="sref">argc3/a> + 3a href="+code=i" class="sref">i3/a>]) 
L199" class="line" namn>
L199">.1993/a>                                continue; 
L200" class="line" namn>
L200">.2003/a>                        3spa
 class="comment">/*3/spa
  
L201" class="line" namn>
L201">.2013/a>3spa
 class="comment">                         * Return true 
L202" class="line" namn>
L202">.2023/a>3spa
 class="comment">                         * in bprm->envp[] are either undefined or not matched.3/spa
  
L203" class="line" namn>
L203">.2033/a>3spa
 class="comment">                         */3/spa
  
L204" class="line" namn>
L204">.2043/a>                        if ((!3a href="+code=envp" class="sref">envp3/a>->3a href="+code=ption" class="sref">ption3/a> && !3a href="+code=envp" class="sref">envp3/a>->3a href="+code=is_not" class="sref">is_not3/a>) || 
L205" class="line" namn>
L205">.2053/a>                            (3a href="+code=envp" class="sref">envp3/a>->3a href="+code=ption" class="sref">ption3/a> && 3a href="+code=envp" class="sref">envp3/a>->3a href="+code=is_not" class="sref">is_not3/a>)) 
L206" class="line" namn>
L206">.2063/a>                                continue; 
L207" class="line" namn>
L207">.2073/a>                        3a href="+code=result" class="sref">result3/a> = 3a href="+code=false" class="sref">false3/a>; 
L208" class="line" namn>
L208">.2083/a>                        break; 
L209" class="line" namn>
L209">.2093/a>                } 
L210" class="line" namn>
L210">.2103/a>        } 
L211" class="line" namn>
L211">.2113/a>        if (3a href="+code=checked" class="sref">checked3/a> != 3a href="+code=local_checked" class="sref">local_checked3/a>) 
L212" class="line" namn>
L212">.2123/a>                3a href="+code=kfren" class="sref">kfren3/a>(3a href="+code=checked" class="sref">checked3/a>); 
L213" class="line" namn>
L213">.2133/a>        return 3a href="+code=result" class="sref">result3/a>; 
L214" class="line" namn>
L214">.2143/a>} 
L215" class="line" namn>
L215">.2153/a> 
L216" class="line" namn>
L216">.2163/a>3spa
 class="comment">/**3/spa
  
L217" class="line" namn>
L217">.2173/a>3spa
 class="comment"> * tomoyo_scan_exec_realpath - Check "exec.realpath" paramnter of "struct tomoyo_condi  >
".3/spa
  
L218" class="line" namn>
L218">.2183/a>3spa
 class="comment"> *3/spa
  
L219" class="line" namn>
L219">.2193/a>3spa
 class="comment"> * @filn:  Pointer to "struct filn".3/spa
  
L220" class="line" namn>
L220">.22 3spa
 class="comment"> * @ptr:   Pointer to "struct tomoyo_namn_un >
".3/spa
  
L221" class="line" namn>
L221">.2213/a>3spa
 class="comment"> * @match: True if "exec.realpath=", false if "exec.realpath!=".3/spa
  
L222" class="line" namn>
L222">.2223/a>3spa
 class="comment"> *3/spa
  
L223" class="line" namn>
L223">.2233/a>3spa
 class="comment"> * Returns true 
L224" class="line" namn>
L224">.2243/a>3spa
 class="comment"> */3/spa
  
L225" class="line" namn>
L225">.2253/a>static 3a href="+code=bool" class="sref">bool3/a> 3a href="+code=tomoyo_scan_exec_realpath" class="sref">tomoyo_scan_exec_realpath3/a>(struct 3a href="+code=filn" class="sref">filn3/a> *3a href="+code=filn" class="sref">filn3/a>, 
L226" class="line" namn>
L226">.2263/a>                                      const struct 3a href="+code=tomoyo_namn_un >
" class="sref">tomoyo_namn_un >
3/a> *3a href="+code=ptr" class="sref">ptr3/a>, 
L227" class="line" namn>
L227">.2273/a>                                      const 3a href="+code=bool" class="sref">bool3/a> 3a href="+code=match" class="sref">match3/a>) 
L228" class="line" namn>
L228">.2283/a>{ 
L229" class="line" namn>
L229">.2293/a>        3a href="+code=bool" class="sref">bool3/a> 3a href="+code=result" class="sref">result3/a>; 
L230" class="line" namn>
L230">.2303/a>        struct 3a href="+code=tomoyo_path_info" class="sref">tomoyo_path_info3/a> 3a href="+code=exe" class="sref">exe3/a>; 
L231" class="line" namn>
L231">.2313/a>        if (!3a href="+code=filn" class="sref">filn3/a>) 
L232" class="line" namn>
L232">.2323/a>                return 3a href="+code=false" class="sref">false3/a>; 
L233" class="line" namn>
L233">.2333/a>        3a href="+code=exe" class="sref">exe3/a>.3a href="+code=namn" class="sref">namn3/a> = 3a href="+code=tomoyo_realpath_from_path" class="sref">tomoyo_realpath_from_path3/a>(&3a href="+code=filn" class="sref">filn3/a>->3a href="+code=f_path" class="sref">f_path3/a>); 
234" class="line" namn>
L class="linnt">            s="comment">               f">i3/a>]) i3/a>7urity110">.1106 de=is_not" class="sref">is_not3_path3/a>(&3a "line" namn>
L199">.1993/a>4" id_path3/a>(&316rns true 6013/a>3sp3/a>(&316rns true 6013/ade=is_not" class="sref">is_nomment"> =f">toef="+code=result" class="sref"line" namn>
L199vc3/a> <= sizeofs="line" namn>
L177">.1773/a>class="line" f">toef="h false otherwiss="sref"line" namn> ; .1Ass=        (di  >
.c#L221" 1t; 127) { 
L137">.1373/a>   2     2              "line" namn>
L211">.2113/a>        if (3a href="+code=checkess="sref">tomoyo_realpath_from_path3/a>(&3a href="+code=filn" clap;316rns true 6013/ade=is_not" class="sref         ine" namn>
L138">.1383/a2     2              L212" id>
L212" class="line" namn>
L212">.2123/a>    rg_le
" class="sref">tomoyo_namn_un >
3/a> *3a hp;316rns true 6013/ade=is_not" class="srehref="+co2e=arg_len" class="sref">2rg_le23/a>++sref">checked3/a>); 
L140">.1403/a>   2     2      ref">checked3/a>);           3a href="+code2arg_p24ondi  >
.c#L221" id>
L221" di  >
.c#L214" id>
L214" class="line" namn>
L214">rity/tomo2o/condi  >
.c#L142" id>
2142" 24th=", false if "execef"lineget_dqword -cef"lineget_2" i()amn>
a "> *ed       ity/tomoyo/condi  >
.c#L222" id>
L222" class="lioyo/condi2 >
.c#L143" id>
L143" cl2ss="l24nt"> *3/spa
  
L222" class="lioath" clas             3a href="+c2de=ar24rgc.3/spa
  
L222" class="li++] = (3a2href="+code=c" class="sr2f">c324quot;struct tomoyo_argv"ty/tomoyo/condi  >
.c#L222" id>
L222" class="li+">is_nomm
.c#L145" id>
L145" clas2="lin24>
.c#L215" id>
L215" class="li.realpatpndi  >
.c#L219" id>
L219" clas">.1993/adi  >
.uot;.3/spa
 NULLref="security/tomoyo/condi  >
.c#L222" id>
L222" class="li>
L147" c2ass="line" namn>
L147">.2473/a24lass="line" namn>
L217">.2173ty/tomoyo/condi  >
.c#L223" id>
L223" class="ling_ptr3/a>23a href="+code=arg_len" 2lass=2sref"> Returnsref">tomoyo_scan_exec_realpath3/a>class="line" namn>
L229">.2293/a>        3a h/a> *3a href="+cef"lineget_dqwordne" namn>
L229">.2293/get_dqworda hre id>
L160" class="lin Rertne" namn>
L229" Rert" class="sref">filn3/a>->3a href="+code=f_148" clas2="line" namn>
L148">.1482/a>  2      7" class="line" namn>
L227">.2273/a>     " namn>
L249">.1493/a>            2     2     if (3a hr id>
L160" class="line" namn>
L160">.1603/a>                    ertne" namn>
L229" Rert" cl3/a>++, 3a href="+tom       break; 
L229" Rert" cla
.c#p;316rns true 6013/ade=is_not" class="sre" namn>
L250">.1503/a>            2     250" class="line" namn>
L180">.180e" namn>
L160">.1603/a>                     ertne" namn>
L229" Rert" cl3||
L160" class="lin Rertne" namn>
L229" Rert" cl++     .1623/a>                 di  >
g_len3/a>++] ||
L160" class="line" namn>
L160">.1603/a>     .1623/a>                 di  >
g_len3/a>++]ass="sref">filn3/a>->3a href="+code=f_1ity/tomo2ass="comment">/* Check. 2/3/sp2
  
L212" class=NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sre      if 2!3a href="+code=tomoyo_a2gv" c2ass="sref">tomc#L162" id>
L162" class="line" namn>
L162">.1623/a>                                if (3a href="+code=cp" class="sref">cp32s="line" 2amn>
L154">.1543/a>     2     2              e" nL160" class="lin Rertne" namn>
L229" Rert" clss="comment">               ef"line" rrect_wordne" namn>
L229">.2293/" rrect_worda href="+code=checke Rertne" namn>
L229" Rert" claass="sref">filn3/a>->3a href="+code=f_1+] = (3a2="sref">argv3/a>, 
L212" class=NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sre ">is_nommty/tomoyo/condi  >
.c#L126" id2
L156" class="                  returf"lineget_2" ine" namn>
L229">.2293/get_filn" clef="+code=checke Rertne" namn>
L229" Rert" clap;316rns true 6013/ade=is_not" class="sre 
L147" c2 class="sref">result3/a>2= 3a 2ref="+sref">checked3/a>); 2L157" class="line" namn>2L157"2.1573/ref">checked3/a>);  *3/spa
  
L214" class="line" namn>
L214">ount" cla2s="sref">argv_count3/a>-2;  *ed - P>rs>
a "> *ed wordity/tomoyo/condi  >
.c#L222" id>
L222" class="li         2                    char2*3a h26ondi  >
.c#L221" id>
L221" class="line" namn>
L221">.2213/a>3spa
 class="com_ptr3/a>,23spa
 class="string"> =ņ *3/spa
  L21t"> * @ptr:   Pointer to "struct tomoyo_namn_un >a>) { 
L219" class="line" namn>
L219">.2193/a>3spa
 class="comment"> * @filn:  Ponamn>
L162">.1643/a>              2     26rgc.3/spa
  .2193/a>3spa
 class="comment"> * @filn:  Pon+] = (3a2condi  >
.c#L165" id>
L125" cl26quot;struct tomoyo_argv"..realpath!=".3/spa
  
L222" class="licondi  >
2c#L166" id>
L166" class=2line"26>
.c#L215" id>
L215" class="lty/tomoyo/condi  >
.c#L223" id>
L223" class="linrity/tomo2o/condi  >
.c#L167" id>
2167" 2lass=" Returns true  *edne" namn>
L229">.2293/a>rs> ;  *ed243/a>3spa
 class="comment"o/condi c99">L21ne" namn>
L229">.2293/ c99">L21filn3/a> *3a href="+co>L21ne" namn>
L229"">L21filnln3/a>, result3/a> = 3a hr2f="+c2de=false" class="sref">false3/a>; 
L229" (struct 3a href="+code=filn" class="sref">filn3/a> *3a href="+code=filn" class="sref">fiass="sref">filn3/a>->3a href="+code=f_class="li2e" namn>
L168">.1683/a> 2     27     7" class="line" namn>
L227">.2273/a>     >
.c#L1692 id>
L169" class="line" 2amn>
27    if (3a hr id>
L160" class="lin33" 2" ine" namn>
L229"33" 2" i3/a>                  o>L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
     2                        2   } 270" class="line" nL160" class="lin33" 2" ine" namn>
L229"33" 2" i3/a>  2">.1623/a>                 @g_len3/a>++]ass="sref">filn3/a>->3a href="+code=f_1713/a>  2                        2    32 href="+code=envp_coun                  returf"linea>rs> ; 
L229">.2293/a>rs> ; L21ne" namn>
L229"">L21filnl; 127) { 
L172" class="li2e" na2n>
L172">.1723 127) { 
L233">3" 2" ine" namn>
L229"33" 2" i3/a>                  ef"lineget_dqwordne" namn>
L229">.2293/get_dqworda hrene" namn>
L233">3" 2" ine" namn>
L229"33" 2" i3/a>mp;316rns true 6013/ade=is_not" class="sredamn>
L162 >
.c#L173" id>
L173" cl2ss="l2ne" namn>
L173                  retu="security/tomoyo/condi  s="line" namn>
L233">3" 2" ine" namn>
L229"33" 2" i3/a>           } 
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sreline" nam2>
L174">.1743/a>        2     2      sref">checked3/a>); 
L175">.1753/a>2     2      ref">checked3/a>); 
L1762>.17627lass="line" namn>
L217">.21di  >
.c#L214" id>
L214" class="line" namn>
L214">         2a href="+code=offset" cl2ss="s27aramnter of "struct tomoy>.2293/a>rs> #L19 - P>rs>
an ">.1893" namn>
L.c#Ltity/tomoyo/condi  >
.c#L222" id>
L222" class="liss="line"2namn>
L178">.1783/a>    2     28"> *3/spa
  
L222" class="lis
.c#L1692="security/tomoyo/condi 2>
.c#28a href="security/tomoyo/condi  leftyo/Lefthand a>-&gity/tomoyo/condi  >
.c#L222" id>
L222" class="lis03/a>   2tomoyo/condi  >
.c#L180"2id>
L28ondi  >
.c#L221" id>
L221" cl @rightyoRighthand a>-&gity/tomoyo/condi  >
.c#L222" id>
L222" class="lis713/a>  2>
L181">.1813/a>3a href=2+code28 *3/spa
  .1di  >
".3/spa
  .2293/ >.1amn>
L219">.2193/a>3spa
 class="comment"> * @filn:  Po">.1823/a2        if (3a href="+co2e=res28nt"> *3/spa
  
L222" class="li      int23a href="+code=i" class=2sref"28rgc.3/spa
  
.c#L222" id>
L222" class="liine" namn2
L185">.1853/a>         2     28quot;struct tomoyo_argv"ty/tomoyo/condi  >
.c#L223" id>
L223" class="linf">i3/a>+2) { rs> ne" namn>
L152">.1523/a>  a>rs> ne" a hre id>
L160" class="linleftnamn>
L152">.15leftfilnl; id>
L160" class="linright namn>
L212">.21ightfilnln3/a>, che2ked3/a>[3a href="+code=i" classec yo/condi  >
.c#L229" id>
L229" ne" namn>
L152">.1523/a>          
L160" class="lin/tomoyo/condi  >
.c#L191" iass="sref">filn3/a>->3a href="+code=f_lass="lin2" namn>
L187">.1873/a>  2     2      7" class="line" namn>
L227">.2273/a>     a
 class=2comment">/*3/spa
  
L180">.18023/a>  a>rs> ulo   amn>
L152">.1523/a>  a>rs> ulo  "security/tomo199">.1Ass=/tomoyo/condi  >
.c#L191" ief="security/tomoyo/cs="loyo/condi  >
.ccs="lfilnl;rity/tomo199">.1Ass=leftnamn>
L152">.15leftfiln)   " class="line" namn>
L227">.2273/a>     a
.c#L1692ll unchecked indexes in32spa
 2969">.1693/a>     tomo199">.1Ass=ecurityVALUE_TYPE_DECIMAL namn>
L160">.1ecurityVALUE_TYPE_DECIMAL" cl3||
L160" class="linleftnamn>
L152">.15leftfiln++     .1623/a>                 ]g_len3/a>++] ||
L160" class="linleftnamn>
L152">.15leftfiln)" class="line" namn>
L227">.2273/a>     a03/a>   2                     * b2rm-&g2;argv[] are not matche >
.c#L2134" id>
234" class="line" namn>
L class="linnt">            s="comment">           ndi  >
.c2L192" id>
L192" class="l2ne" n29s="sref">filn3/a>) envp3/a>->3a                  ef"lineget_dqwordne" namn>
L229">.2293/get_dqworda hrene" namn>
L233"right namn>
L212">.21ightfilnmp;316rns true 6013/ade=is_not" class="sre>[3a href2"+code=i" class="sref">i2/a>].2a href="+code= >
.c#L2134" id>
234" /tomoyo/condi  >
.c#L191" ief="security/tomoyo/ class="sref">envp3/a>->3a           } 
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sre continue2 checked3/a>); 2esult3ref">checked3/a>); i3/a>+2ty/tomoyo/condi  >
.c#L125" id29>
.c#L215" id>
L215" class=di  >
.c#L214" id>
L214" class="line" namn>
L214">3a href="2code=i" class="sref">i3/2> = 029lass="line" namn>
L217">.2173y>.2293/a>rs> || < - P>rs>
an 3spa
 c" namn>
L.c#Ltity/tomoyo/condi  >
.c#L222" id>
L222" class="li >
.c#L192" id>
L198" class="line"2namn>29aramnter of "struct tomoty/tomoyo/condi  >
.c#L222" id>
L222" class="l3/a>[3a hr3f="+code=argc" class="sr3f">ar30"> *3/spa
  
L222" class="l3lass="lin3" namn>
L199">.1993/a>  3     3                       continl @rightyoRighthand a>-&gity/tomoyo/condi  >
.c#L222" id>
L222" class="l3s="commen3">/*3/spa
  
Ll @3spadi  >
".3/spa
  .2293/3spaamn>
L219">.2193/a>3spa
 class="comment"> * @filn:  P3 variable33/spa
  
L202"oty/tomoyo/condi  >
.c#L222" id>
L222" class="l3/4ariable33+code=i" class="sref">i3ther 30ot;struct tomoyo_execve"..realpath!=".3/spa
  
L222" class="l3        i3 ((!3a href="+code=envp"3class30rgc.3/spa
  
L223" class="li3         3      (3a href="+code=en3p" cl3ss="sr Returns true .15leftfilnl; id>
L160" class="linright namn>
L212">.21ightfilnln3/a>, envp3/a>3>33 href="+code=is_not" class="srsec yo/condi  >
.c#L229" id>
L229"                   *3a href="+code=
L160" class="lin"sref">is_not3/a>) || 
L227">.2273/a>    3 continue3 
L227">.2273/a>    3    3a hr3f="+code=result" class="3ref">3esult3/a> = 3asref">tomoyo_scan_exec_realpath3/a>class="line" namn>
L229">.2293/a>        3a h/a> *3a href="+camp;3a href="+code=filn" clp;316rns true 6013/ade=is_not" class="sr3ef="secur3ty/tomoyo/condi  >
.c#L238" id3
L208" class="sref">tomoyo_scan_exec_realpath3/a>class="line" namn>
L229">.2293/a>        3a h/a> *3a href="+c class="sref">envp3/a>->3ap;316rns true 6013/ade=is_not" class="sr3eass="lin3reak; 
L160">.1603/a>                  leftnamn>
L152">.15leftfiln3/a>++, 3a href="+tom       break; .15leftfiln) .c#p;316rns true 6013/ade=is_not" class="sr3  } 
L160">.1603/a>--     .1623/a>                 ]g_len3/a>++] ||
L160" class="line" namn>
L160">.1603/a>     .1623/a>                 di  >
g_len3/a>++]ass="sref">filn3/a>->3a href="+code=f3ocal_chec3ed3/a>) 
L179">.1793/p;316rns true 6013/ade=is_not" class="sr3 4ariable3n3/a>(3a href="+code=che3ked" 31ss="sref">tomc#L162" id>
L162" class="line" namn>
L162">.1623/a>                                if (3a href="+code=cp" class="sref">cp33oyo/condi3 >
.c#L213" id>
L213" cl3ss="l31             e" n>               ef"line" rrect_wordne" namn>
L229">.2293/" rrect_worda href="+code=checkeleftnamn>
L152">.15leftfiln)ass="sref">filn3/a>->3a href="+code=f3o        3sult" class="sref">resul33/a>;31ity/tomoyo/condi  >
.go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr3 +code=en3
L199vc2" class="line" namn>
L232">.2323/a>                get_2" ine" namn>
L229">.2293/get_filn" clef="+code=checkeleftnamn>
L152">.15leftfiln)p;316rns true 6013/ade=is_not" class="sr3 continue3yo/condi  >
.c#L217" id>3L217"318            e" n>               amp;3a href="+code=filn" class="sref">filn3/a>->3a href="+code=f3alpath - 3heck "exec.realpath3quot;31e=false" class="sref"go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr3" namn>
L318">.2183/a>3spa
 class=3comme32curity/tomoyoe" n>               ref=m class="line" naref=m a hrene" namn>
L233"right namn>
L212">.21ightfilnef="security/tomoyo/condi  >
NULLdi  >
3/a>++]a" namn>
L197">.1973/a>                for 3inter to 3quot;struct filn".33spa
 3269">.1693/a>         ecurity/tomoyo/ class="sref">envp3/a>->3a                  NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr3
".33spa
  
L171" class="line" namn>
L171">3ment"> * 3match: True if "exe3.real32href="+code=envp_counecurity/tomoyo/ class="sref">envp3/a>->3a                  ef"lineget_dqwordne" namn>
L229">.2293/get_dqworda hrene" namn>
L233"right namn>
L212">.21ightfilnmp;316rns true 6013/ade=is_not" class="sr3ne" namn>3L222">.2223/a>3spa
 clas3="com32defined or not matchee" n>                class="sref">envp3/a>->3a" namn>
L197">.1973/a>                for 3iyo/condi3223">.2233/a>3spa
 class3"comm32e" namn>
L173">.1733/a>                     >.2293/aut_2" ine" namn>
L229">.2293/aut_2" ia hrene" namn>
L233"amp;3a href="+code=filn" clap;316rns true 6013/ade=is_not" class="sr3="+code=b3ol" class="sref">bool3/a3 3a h3ef="+code=tomoyo_scan_exec_reago;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr3"+code=en3id>
L226" class="line" n3mn>
L326">.2263/a>          sref">checked3/a>); 
.c#3227" 328            sref">checked3/a>); is_not3/a>) || 
L232">.2323/a>         amp;3a href="+code=filn" clp;316rns true 6013/ade=is_not" class="sr3s="line" 3amn>
L228">.2283/a>{ is_not3/a>) || envp3/a>->3a                   class="sref">envp3/a>->3ap;316rns true 6013/ade=is_not" class="sr33/a>; 
L2                  returrass="sref">envp3/rrast;3ap;316rns true 6013/ade=is_not" class="sr33".33tomoyo_path_info3/a> 3a 3ref="3code=e160" class="lin"line" namn>
L179">.1793/a>                        break;      3  if (!3a href="+code=fi3n" cl33/condi  >
.c#L212" id>
L212" class=class="line" namn>
L class="linnt">            s="comment">          3namn" cla3s="sref">namn3/a> = 3a h3ef="+33ass="sref">checked3/a>); f_path3/a>); 
L213">.2133/a>        return 3a hre3    f">i33a>]) i3/a37urit33a href="security/tomoyo/condi  >
.c#L214" id>
L214" class="line" namn>
L214"3f">is_nom3ent"> =f">toef="+code=re3ult" 33>
.c#L215" id>
L215" class="line" namn 
L.a href="mn>
duplica*ed 216" class="line" namn>
L216">.2163L183"yity/tomoyo/condi  >
.c#L222" id>
L222" class="l3fref="sec3 namn>
L137">.1373/a>   3     33lass="line" namn>
L217">.2173/a>3spa
 class="comment"> * tomoyo_scan_exec_r3f        3ine" namn>
L138">.1383/a3     33aramnter of "struct tomoyoa
  .2163ity/tomoyo/condi  >
.c#L222" id>
L222" class="l3href="+co3e=arg_len" class="sref">3rg_le34"> *3/spa
  
L216">.2163ity/tomoyo/condi  >
.c#L222" id>
L222" class="l3h/a>; 
L140">.1403/a>   3     34                      continlty/tomoyo/condi  >
.c#L222" id>
L222" class="l3h".33          3a href="+code3arg_p34ondi  >
.c#L221" id>
L221" t;..realpath!=&qe" @a  2"@b
  
L222" class="l3rity/tomo3o/condi  >
.c#L142" id>
3142" 34th=", false if "exety/tomoyo/condi  >
.c#L223" id>
L223" class="li3oyo/condi3 >
.c#L143" id>
L143" cl3ss="l34nt">  Returns true 
Lline" namn>
Lin id>pa
  
Lne" namn>
L229">.2293/y 
La hre ref">tomoyo_scan_exec_realpath3/a>" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin/oyo/condi  >
.c#filnln3/a>, tomoyo_scan_exec_realpath3/a>" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="linbfalse otherwise." class="sref">filn3/a>->3a href="+code=f3++] = (3a3href="+code=c" class="sr3f">c334quot;namn>
L197">.1973/a>                for 3+">is_nom3
.c#L145" id>
L145" clas3="lin34L156" class="                  retu/oyo/condi  >
.c#filnef="security/tomoyo/siz>
Lline" namn>
Lsiz>t;3a                   bfalse otherwise." clef="security/tomoyo/siz>
Lline" namn>
Lsiz>t;3a href="+code=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/    =envp" class="sr    =t;3a                   bfalse otherwise." clef="security/tomoyo/    =envp" class="sr    =t;3a href="+codamn>
L197">.1973/a>                for 3+ref="sec3ass="line" namn>
L147">.3473/a34ed3/a>[3a href="+code=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/numbers_href="security/tomoynumbers_href=t;3a                   bfalse otherwise." clef="security/tomoyo/numbers_href="security/tomoynumbers_href=t;3a href="+codamn>
L197">.1973/a>                for 3+        33a href="+code=arg_len" 3lass=34e=false" class="sref"=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/n_les_href="security/tomoyn_les_href=t;3a                   bfalse otherwise." clef="security/tomoyo/n_les_href="security/tomoyn_les_href=t;3a href="+codamn>
L197">.1973/a>                for 3148" clas3="line" namn>
L148">.1483/a>  353/a> + 3a href="+code=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/ode=envp" class="sref">envp3                  bfalse otherwise." clef="security/tomoyo/ode=envp" class="sref">envp3href="+code=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/ass="line" namn>
L196">.1963                  bfalse otherwise." clef="security/tomoyo/ass="line" namn>
L196">.1963href="+codamn>
L197">.1973/a>                for 31/a>; .1493/a>            3     3569">.1693/a>         ecurity/tomoyo//oyo/condi  >
.c#filnef="security/tomoyo/grant_lo  amn>
L152">.15grant_lo .1963                  bfalse otherwise." clef="security/tomoyo/grant_lo  amn>
L152">.15grant_lo .1963href="+code=is_not" class=/oyo/condi  >
.c#filnef="security/tomoyo/transi="security/tomoytransi=.1963                  bfalse otherwise." clef="security/tomoyo/transi="security/tomoytransi=.1963href="+codamn>
L197">.1973/a>                for 31".3350">.1503/a>            3     35argv[] are not matche>               mem=m class="line" namem=m a hrene" namn>
L233"/oyo/condi  >
.c#filn + 1l; 127) { 
.c#filnef="security/tomoyo/siz>
Lline" namn>
Lsiz>t;3a - siz>ofnL160" class="lin/oyo/condi  >
.c#filn)ap;316rns true 6013/ade=is_not" class="sr31ity/tomo3ass="comment">/* Check. 3/3/sp3
  checked3/a>); checked3/a>); 
L154">.1543/a>     3     35rgc.3/spa
  
L214" class="line" namn>
L214"31+] = (3a3="sref">argv3/a>, 
L_type - Getc" namn>
L.typeity/tomoyo/condi  >
.c#L222" id>
L222" class="l3 ">is_nom3ty/tomoyo/condi  >
.c#L136" id35>
.c#L215" id>
L215" class="lty/tomoyo/condi  >
.c#L222" id>
L222" class="l3 ref="sec3 class="sref">result3/a>3= 3a 35lass="line" namn>
L217">.2173y@word: Keyword       ity/tomoyo/condi  >
.c#L222" id>
L222" class="l3L157" id>3L157" class="line" namn>3L157"35aramnter of "struct tomoty/tomoyo/condi  >
.c#L222" id>
L222" class="l3583/a>   3                        3   } 36"> *3/spa
  3spa
num.>.2293/" namn>
Ls_cs="ldi  >
.uot;.3/spa
ty/tomoyo/condi  >
.c#L222" id>
L222" class="l35/a>; argv_count3/a>-3; 
.c#L222" id>
L222" class="l3         3                    char3*3a h36ondi  >
.c#L221" id>
L221" clty/tomoyo/condi  >
.c#L223" id>
L223" class="li3_ptr3/a>,33spa
 class="string">!=Ő *3/s Returns true 
.cu8pa
  
L_typene" namn>
L229">.2293/" namn>
L_typea hre ref"> id>
L160" class="linwordne" namn>
L229"worda hrass="sref">filn3/a>->3a href="+code=f3a>) { .1973/a>                for 3namn>
L163">.1643/a>              3     36             s true 
.cu8pa
  p;316rns true 6013/ade=is_not" class="sr3n+] = (3a3condi  >
.c#L165" id>
L135" cl36f="+code=tomomn>
L195">.1953/a>                        break; 
L196" clecurityMAX_CONDITION_KEYWORDity/tomoyo/condecurityMAX_CONDITION_KEYWORDef">pcondi  >
.c#L197" id>
L197" class="line" namn>
L197">.1973/a>                for 3condi  >
3c#L166" id>
L166" class=3line"366">.2263/a>          e" n>               ref=m class="line" naref=m a hrene" namn>
L233"wordne" namn>
L229"worda hrl; 127) { .2293/" namn>
L_keywordne" namn>
L229">.2293/" namn>
L_keyworda hrd>
L191" class="line" namn>
L191">.191)ass="sref">filn3/a>->3a href="+code=f3rity/tomo3o/condi  >
.c#L167" id>
3167" 36 >
.c#L207" id>
L207" class="line" namn>
L207">.2073/a>                   3t" class=3sref">result3/a> = 3a hr3f="+c3de=false" classref">checked3/a>); 
L168">.1683/a> 3     373/a> + 3a hre                  retucode=i" class="sref">p;316rns true 6013/ade=is_not" class="sr3>
.c#L1693 id>
L169" class="line" 3amn>
37    isref">checked3/a>); checked3/a>); 
 debug mret.clty/tomoyo/condi  >
.c#L223" id>
L223" class="li3di  >
.c#3172" id>
L172" class="li3e" na37ot;struct tomoyo_execve&quo/* #">     DEBUG_CONDITIONclty/tomoyo/condi  >
.c#L223" id>
L223" class="li3damn>
L163 >
.c#L173" id>
L173" cl3ss="l37e" namn>
L213">.2133/a>        return 3a hre3line" nam3>
L174">.1743/a>        3     3      #if">             retuDEBUG_CONDITIONode=i" class="sDEBUG_CONDITION" namn>
L213">.2133/a>        return 3a hre3londi  >
3ne" namn>
L175">.1753/a>3     3      #">                retudp   tkode=i" class="sdp   tkpa
  .2133/a>        return 3a hre3lity/tomo3 class="line" namn>
L1763>.17637lass=#
.c#mn>
L213">.2133/a>        return 3a hre3l" class=3a href="+code=offset" cl3ss="s37aramn#">                retudp   tkode=i" class="sdp   tkpa
 (...) do { } whi>
 (0ass="sref">filn3/a>->3a href="+code=f3ss="line"3namn>
L178">.1783/a>    3     38"> *3#eef=fss="sref">filn3/a>->3a href="+code=f3s
.c#L1693="security/tomoyo/condi 3>
.c#38     ref">checked3/a>); 
L38ondi  >
.c#L221" id>
L221" di  >
.c#L214" id>
L214" class="line" namn>
L214"3s713/a>  3>
L181">.1813/a>3a href=3+code38 *3/spa
  
L.a h mmitsecurity/tomoyo/condimn>
L216">.2163ity/tomoyo/condi  >
.c#L222" id>
L222" class="l3">.1823/a3        if (3a href="+co3e=res38nt"> *3/spa
  
L222" class="l3      int33a href="+code=i" class=3sref"38rgc.3/spa
  .2163ity/tomoyo/condi  >
.c#L222" id>
L222" class="l3ine" namn3
L185">.1853/a>         3     38quot;struct tomoyo_argv"ty/tomoyo/condi  >
.c#L222" id>
L222" class="l3iondi  >
3) { 
L215" class="li.realpatpndi  >
.c#L219" id>
L219" clasmn>
L216">.2163Luot;.3/spa
 NULLref="security/tomoyo/condi  >
.c#L222" id>
L222" class="l33a href="3code=checked" class="sre3">che38lass="line" namn>
L217">.2173/a>3spa
 class="comment"> * tomoyo_scan_exec_r3lass="lin3" namn>
L187">.1873/a>  3     38aramnter of "struct tomoyThisffuncn>
L.merges
duplica*ed 183"ies.yThisffuncn>
L.rrealpatNULLrif/a>3spa
 class="comment"> * tomoyo_scan_exec_r3a
 class=3comment">/*3/spa
   *3/spa
  
policy has exceededity/tomoyo/condi  >
.c#L222" id>
L222" class="l3a
.c#L1693ll unchecked indexes in33spa
 39a href="security/tomoyo/condity/tomoyo/condi  >
.c#L223" id>
L223" class="li3a03/a>   3                     * b3rm-&g3;argv[ Returntomoyo_scan_exec_realpath3/a>" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin>.2293/" mmit " namn>
Lne" namn>
L229">.2293/" mmit " namn>
L    ref">checked3/a>); 
L192" class="l3ne" n39s="sra>3spa
 class="comment"o/condi" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin183"y"line" namn>
L1963"ya hrass="sref">filn3/a>->3a href="+code=f3>[3a href3"+code=i" class="sref">i3/a>].39ot;stnamn>
L197">.1973/a>                for 3 continue3 
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin="security/tomoyo/condi  p;316rns true 6013/ade=is_not" class="sr3    3a hr3f="+code=result" class="3ref">3910">.1106 de=is_not" class="ss, false otherwise.3/spa
  
L229"found     br
L class="linnt">            s="comment">          3 ">i3/a>+3ty/tomoyo/condi  >
.c#L135" id396">.2263/a>  e" namn>
L180">.180mutex_lock_di  >ruptib>
.c#L233" id>
L2mutex_lock_di  >ruptib>
="srarity/tomo199">.1Ass=>.2293/aolicy_lockne" namn>
L229">.2293/aolicy_lockfiln)a namn>
L197">.1973/a>                for 33a href="3code=i" class="sref">i3/3> = 039ed3/a>[3a href="+code=is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: %sffai>
d\ndi  >
3/a>++]l; 127) {             s="comment">          3 ass="lin3" id>
L198" class="line"3namn>39e=false" class="sref"=is_not" class=="security/tomoyo/condi                    NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4/a>[3a hr4f="+code=argc" class="sr4f">ar403/a> + 3a href="+code=is_not" class=foundne" namn>
L229"found     brenvp3/rrast;3ap;316rns true 6013/ade=is_not" class="sr4lass="lin4" namn>
L199">.1993/a>  4     4069">.1693/a>         go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr4s="commen4">/*3/spa
  
L192" class="l4/tomo40s="sref">filn3/a>) 
L1list_mn>_each_183"ypa
 (=is_not" class=ode=filn" class="sref">fil;rity/tomo199">.1Ass=>.2293/" namn>
L_listne" namn>
L229">.2293/" namn>
L_lista hrl; 127) { 
L229"heada hr_from_path3/a>(&listne" namn>
L229"lista hra namn>
L197">.1973/a>                for 4/4ariable43+code=i" class="sref">i4ther 40defined or not matchee" n>               ty/tomoy 
Lne" namn>
L229">.2293/y 
La hre=is_not" class=ode=filn" class="sref">fil;160" class="lin183"y"line" namn>
L1963"ya hra ||amn>
L197">.1973/a>                for 4/5ariable43fdne" namn>
L229"/   icf">fd="srarity/tomo199">.1Ass=="security/tomoyo/condi  s="line" namn>
L233"headne" namn>
L229"heada hr_from_path3/a>(&usersoyo/condi  >
.cusersa hra                   ecurityGC_IN_PROGRESSity/tomoyo/condecurityGC_IN_PROGRESSa hrass="sref">filn3/a>->3a href="+code=f4         4      (3a href="+code=en4p" cl40f="+code=tomoyo_scan_exec_reahretinuep;316rns true 6013/ade=is_not" class="sr4s7       4 y/tomoyo/condi  >
.c#L14>34 href="+code=is_not" cruct tomoyo_execve&quo/* S
.cL183"y found. Shar  thisf183"yidity/tomoyo/condi  >
.c#L223" id>
L223" class="li4 continue4 .1Ass=="security/tomoyo/condi  s="line" namn>
L233"headne" namn>
L229"heada hr_from_path3/a>(&usersoyo/condi  >
.cusersa hrap;316rns true 6013/ade=is_not" class="sr4s9ontinue4  id>
L198" class="line"4ref">40e=false" class="sref"=is_not" class=foundne" namn>
L229"found     brenvp3/rrast;3ap;316rns true 6013/ade=is_not" class="sr4ef="secur4ty/tomoyo/condi  >
.c#L248" id413/a> + 3a href="+codeline" namn>
L207">.2073/a>                   4eass="lin4reak; 
.c410" class="line" n>               foundne" namn>
L229"found    a namn>
L197">.1973/a>                for 4ocal_chec4ed3/a>) 
L180">.18023/a>  memo"y_okne" namn>
L229">.2293/memo"y_oka hre=is_not" class=183"y"line" namn>
L1963"ya hraa namn>
L197">.1973/a>                for 4o4ariable4n3/a>(3a href="+code=che4ked" 41defined or not matchef="+code=is_not" class=/   icfsetne" namn>
L229"/   icfset="srarity/tomo199">.1Ass=183"y"line" namn>
L1963"ya hrs="line" namn>
L233"headne" namn>
L229"heada hr_from_path3/a>(&usersoyo/condi  >
.cusersa hr, 1ap;316rns true 6013/ade=is_not" class="sr4oyo/condi4 >
.c#L213" id>
L213" cl4ss="l41e" namn>
L173">.1733/a>                     list_addne" namn>
L229"list_add="srarity/tomo199">.1Ass=183"y"line" namn>
L1963"ya hrs="line" namn>
L233"headne" namn>
L229"heada hr_from_path3/a>(&listne" namn>
L229"lista hrl;rity/tomo199">.1Ass=>.2293/" namn>
L_listne" namn>
L229">.2293/" namn>
L_lista hrap;316rns true 6013/ade=is_not" class="sr4o        4sult" class="sref">resul43/a>;41ity/tomoyo/condi  >
. >
.c#L171" id>
L171" class="line" namn>
L171">4 +code=en4
L229"found     brenvp3/rrast;3ap;316rns true 6013/ade=is_not" class="sr4econtinue4yo/condi  >
.c#L217" id>4L217"41 >
.c#L207" id>
L207" class="=is_not" class=="security/tomoyo/condi                    NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4alpath - 4heck "exec.realpath4quot;41e=false" class="sref" ;316rns true 6013/ade=is_not" class="sr4" namn>
L418">.2183/a>3spa
 class=4comme42curity/tomoyo ;316rns true 6013/ade=is_not" class="sr4"ass="lin4quot;struct filn".34spa
 4269">.1693/a> amn>
L180">.180mutex_unlockne" namn>
L229"mutex_unlock="srarity/tomo199">.1Ass=>.2293/aolicy_lockne" namn>
L229">.2293/aolicy_lockfiln)p;316rns true 6013/ade=is_not" class="sr4
".34spa
  
L179">.1793/a>                        break;  * 4match: True if "exe4.real42href="+code=ee" namn>
L180">.180foundne" namn>
L229"found    a namn>
L197">.1973/a>                for 4ne" namn>4L222">.2223/a>3spa
 clas4="com42defined or not matchetomo199">.1Ass=>.2293/del " namn>
Lne" namn>
L229">.2293/del " namn>
L="srarity/tomo199">.1Ass=183"y"line" namn>
L1963"ya hrs="line" namn>
L233"headne" namn>
L229"heada hr_from_path3/a>(&listne" namn>
L229"lista hr)p;316rns true 6013/ade=is_not" class="sr4
yo/condi4223">.2233/a>3spa
 class4"comm42e" namn>
L173">.1733/from_path3/a>(&kfress="sref">envp3/kfresa hre=is_not" class=183"y"line" namn>
L1963"ya hrap;316rns true 6013/ade=is_not" class="sr4
        4ol" class="sref">bool3/a4 3a h4ef="+code=tomoyo_scan_=is_not" class=183"y"line" namn>
L1963"ya hr                  o"security/tomoyo/condi  p;316rns true 6013/ade=is_not" class="sr4"+code=en4id>
L226" class="line" n4mn>
L426">.2263/a>   ;316rns true 6013/ade=is_not" class="sr4"continue4rity/tomoyo/condi  >
.c#4227" 428                              retu183"y"line" namn>
L1963"ya hrp;316rns true 6013/ade=is_not" class="sr4"lpath - 4                       c4nst 34 href= ;316rns true 6013/ade=is_not" class="sr4s="line" 4amn>
L228">.2283/a>{ 
.c#L214" id>
L214" class="line" namn>
L214"43".34tomoyo_path_info3/a> 3a 4ref="43ondi  >
.c#L221" id>
L221" t;.>.2293/get_transi=_pid>erence - P>rs>
domain transi=>
L.pid>erence mn>
execve()ity/tomoyo/condi  >
.c#L222" id>
L222" class="l43/a>     4  if (!3a href="+code=fi4n" cl43/condi  >
.c#L202" id>
L202"oty/tomoyo/condi  >
.c#L222" id>
L222" class="l4namn" cla4s="sref">namn3/a> = 3a h4ef="+43ot;struct tomoyo_execve".3o#L21
  L21t"> * @ptr:   Pointer to "struct tomoyo_namn_un 4path" cla4s="sref">f_path3/a>); 
L216">.2163ity/tomoyo/condi  >
.c#L222" id>
L222" class="l4    f">i34a>]) i3/a47urit43a href="security/tomoyo/con"oty/tomoyo/condi  >
.c#L222" id>
L222" class="l4n+code=en4ent"> =f">toef="+code=re4ult" 43>
.c#L215" id>
L215" class="li.realpathhec" namn>
L.moyo/c.c#Ltity/tomoyo/condi  >
.c#L222" id>
L222" class="l4fref="sec4 namn>
L137">.1373/a>   4     43lass="line" namn>
L217">.2173ty/tomoyo/condi  >
.c#L223" id>
L223" class="li4f        4ine" namn>
L138">.1383/a4     43aramn Return id>
L160" class="lin>.2293/get_transi=_pid>erencene" namn>
L229">.2293/get_transi=_pid>erence="sra>3spa
 class="comment"o/condi c99">L21ne" namn>
L229">.2293/ c99">L21filn3/a> *3a href="+co>L21ne" namn>
L229"">L21filnln3/a>, 4rg_le443/a> + 3a href="+codeeeeeeeeeeeeeeeeeeeeeeeeeeee>3spa
 class="comment"o/condi" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin1"line" namn>
L19a hrass="sref">filn3/a>->3a href="+code=f4h/a>; 
L140">.1403/a>   4     44     namn>
L197">.1973/a>                for 4h".34          3a href="+code4arg_p440" class="lin id>
Le ref">a> *3a href="+coosoyo/condi  >
.coosa hr                  o>L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
  
.c#L142" id>
4142" 44s="sref">filn3/a>) 
L152">.15fla  
.c#L143" id>
L143" cl4ss="l44defined or noe" nL160" class="linoosoyo/condi  >
.coosa hr     .1623/a>                 dl>
g_len3/a>++]a namn>
L197">.1973/a>                for 4oath" cla4             3a href="+c4de=ar44                  if 160" class="lin1"line" namn>
L19a href="security/tomoyo/transi="security/tomoytransi=.1963                 ef"lineget_domainamp;3a href="+code=ef"lineget_domainamp;a hre=is_not" class=o>L21ne" namn>
L229"">L21filnap;316rns true 6013/ade=is_not" class="sr4++] = (3a4href="+code=c" class="sr4f">c344ity/tomoyo/condi  >
.go;.3160" class="lindod>
Lline" namn>
Ldod> 
L145" clas4="lin446">.2263/a>   ;316rns true 6013/ade=is_not" class="sr4+ref="sec4ass="line" namn>
L147">.4473/a44ed3/a>[3a hrenamn>
L197">.1973/a>                for 4o        43a href="+code=arg_len" 4lass=44e=false" class="sref" id>
L160" class="line" namn>
L160">.1603/a>                  ref=hsecurity/tomoyo/ref=hsa hre=is_not" class=oosoyo/condi  >
.coosa href="security/tomoyo/cond_len g_len3/a>++]ahref="security/tomoyo/condi  >
.c#L131" 4148" clas4="line" namn>
L148">.1484/a>  453/a> + 3a href="+codee" namn>
L180">.180e" namn>
L160">.1603/a>ass="sref">filn3/a>->3a href="+code=f41/a>; .1493/a>            4     4569">.1693/a>                 L160" class="line" namn>
L160">.1603/a>    .1623/a>                                if (3a href="+code=cp" class="sref">cp341".3450">.1503/a>            4     45argv[] are not matche.15fla    ne" namn>
L229">.2293/" rrect_a>  a hre=is_not" class=oosoyo/condi  >
.coosa hra ||e>               ref=m class="line" naref=m a hrene" namn>
L233"oosoyo/condi  >
.coosa href="security/tomoyo/cond.2163keepdi  >
3/a>++]a ||amn>
L197">.1973/a>                for 41ity/tomo4ass="comment">/* Check. 4/3/sp45href="+code=envp_counnnnnnnnn>               ref=m class="line" naref=m a hrene" namn>
L233"oosoyo/condi  >
.coosa href="security/tomoyo/cond.2163in   alizedi  >
3/a>++]a ||n>               ref=m class="line" naref=m a hrene" namn>
L233"oosoyo/condi  >
.coosa href="security/tomoyo/cond.2163resetdi  >
3/a>++]a ||amn>
L197">.1973/a>                for 41amn" cla4!3a href="+code=tomoyo_a4gv" c45defined or not matchef="+code>               ref=m class="line" naref=m a hrene" namn>
L233"oosoyo/condi  >
.coosa href="security/tomoyo/cond.2163childdi  >
3/a>++]a ||n>               ref=m class="line" naref=m a hrene" namn>
L233"oosoyo/condi  >
.coosa href="security/tomoyo/cond.2163">L">.di  >
3/a>++]a if (3a href="+code=cp" class="sref">cp341ath" cla4amn>
L154">.1543/a>     4     45                  if e" namn>
L180">.180e" namn>
L160">.1603/a>ass="sref">filn3/a>->3a href="+code=f41+] = (3a4="sref">argv3/a>, 
L160">.1603/a>    .1623/a>                               if (3a href="+code=cp" class="sref">cp341+code=en4ty/tomoyo/condi  >
.c#L146" id456">.2263/a>   ;316rns true 6013/ade=is_not" class="sr4 ref="sec4 class="sref">result3/a>4= 3a 458            e" n>               fla  amn>
L152">.15fla  filn3/a>->3a href="+code=f41        4L157" class="line" namn>4L157"45e=false" class="sref"                  retuoosoyo/condi  >
.coosa hr if (3a href="+code=cp" class="sref">cp34583/a>   4                        4   } 46curity/tomoyoool" class="sre""line" namn>
L19a href="security/tomoyo/transi="security/tomoytransi=.1963                 ef"lineget_amp;3a href="+code=ef"lineget_amp;a hre=is_not" class=ef"line">fd_tok      break; fd_tok  a hre=is_not" class=o>L21ne" namn>
L229"">L21filnaa if (3a href="+code=cp" class="sref">cp345/a>; argv_count3/a>-4; 
Ldod>                         break; 
L19a href="security/tomoyo/transi="security/tomoytransi=.196ass="sref">filn3/a>->3a href="+code=f4_ptr3/a>,43spa
 class="string">"=Śhref="+code=envp_coun                  retuo>L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
  ) { 
.c#L223" id>
L223" class="li4namn>
L164">.1643/a>              4     46rgc.3/spa
  fd-onlyc" namn>
L.moyo/c.that will let="tomoyo/condi  >
.c#L223" id>
L223" class="li4n+] = (3a4condi  >
.c#L165" id>
L145" cl46a href="security/tomoyo/con"exec_reaLief"lineget_23" class()n       NULLity/tomoyo/condi  >
.c#L222" id>
L222" class="l4condi  >
4c#L166" id>
L166" class=4line"46>
.c#L215" id>
L215" class="exec_reaLty/tomoyo/condi  >
.c#L223" id>
L223" class="li4rity/tomo4o/condi  >
.c#L167" id>
4167" 468                    "security/tomoyo/cond.2163/di  >
3/a>++]href="security/tomoyo/condi  >
.c#L131" 4a        4sref">result3/a> = 3a hr4f="+c46href= ;316rns true 6013/ade=is_not" class="sr4class="li4e" namn>
L168">.1683/a> 4     47curit;316rns true 6013/ade=is_not" class="sr4>
.c#L1694 id>
L169" class="line" 4amn>
47a href="security/tomoyo/condi  >
.c#L214" id>
L214" class="line" namn>
L214"4c        4                        4   } 47ondi  >
.c#L221" id>
L221" t;.>.2293/get_" namn>
L.a P>rs>
" namn>
L.c#Ltity/tomoyo/condi  >
.c#L222" id>
L222" class="l4cptr3/a>,4                        4    347th=", false if "e"oty/tomoyo/condi  >
.c#L222" id>
L222" class="l4di  >
.c#4172" id>
L172" class="li4e" na47ot;struct tomoyo_execve".3o#L21
  L21t"> * @ptr:   Pointer to "struct tomoyo_namn_un 4damn>
L164 >
.c#L173" id>
L173" cl4ss="l47rgc.3/spa
  .1743/a>        4     47quot;struct tomoyo_argv"..realpatpndi  >
.c#L219" id>
L219" clasmn>
L216">.2163Luot;.3/spa
 NULLref="security/tomoyo/condi  >
.c#L222" id>
L222" class="l4londi  >
4ne" namn>
L175">.1753/a>4     47>
.c#L215" id>
L215" class="lty/tomoyo/condi  >
.c#L223" id>
L223" class="li4lity/tomo4 class="line" namn>
L1764>.17647lass=tomoyo_scan_exec_realpath3/a>" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin>.2293/get_" namn>
L3a href="+code=ef"lineget_" namn>
L="sra>3spa
 class="comment"o/condi c99">L21ne" namn>
L229">.2293/ c99">L21filn3/a> *3a href="+co>L21ne" namn>
L229"">L21filnass="sref">filn3/a>->3a href="+code=f4l" class=4a href="+code=offset" cl4ss="s47aramnnamn>
L197">.1973/a>                for 4ss="line"4namn>
L178">.1783/a>    4     48curity/tomoyo>3spa
 class="comment"o/condi" namn>
Lne" namn>
L229">.2293/" namn>
La hr
L160" class="lin183"y"line" namn>
L1963"ya hr                  NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4s
.c#L1694="security/tomoyo/condi 4>
.c#481urity/tomoyo>3spa
 class="comment"o/condi" namn>
L_eleclasse" namn>
L229">.2293/" namn>
L_eleclasa hr
L160" class="lin" na" namn>
L160">.16 na"a hr                  NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4s        4tomoyo/condi  >
.c#L180"4id>
L482urity/tomoyo>3spa
 class="comment"o/condinumber_un>
Lne" namn>
L229">.2293/number_un>
La hr
L160" class="linnumbers_" namn>
L160">.1numbers_"a hr                  NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4sptr3/a>,4>
L181">.1813/a>3a href=4+code483urity/tomoyo>3spa
 class="comment"o/condin 
Lne" namn>
L229">.2293/n 
La hr
L160" class="linnales_" namn>
L160">.1nales_"a hr                  NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4si  >
.c#4        if (3a href="+co4e=res484urity/tomoyo>3spa
 class="comment"o/condiargvne" namn>
L229">.2293/ rgva hr
L160" class="linargvne" namn>
L229" rgva hr
                 NULL namn>
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4samn>
L1643a href="+code=i" class=4sref"48             >3spa
 class="comment"o/condi"sref">is_not3/a>) o/condi"srea hr
L160" class="lin18ref">is_not3/a>) || 
L160">.1NULL3a hp;316rns true 6013/ade=is_not" class="sr4s+] = (3a4
L185">.1853/a>         4     486urity/tomoyo>3spa
 class="comment"o/condi" namn>
Lne" namn>
L229">.2293/" namn>
La hr
ool" class="sre""line" namn>
L19a hr
  { }p;316rns true 6013/ade=is_not" class="sr4sondi  >
4) { .2263/a>   id>
Le ref">a> *3a href="+cst#Lt_of_moyo/colass="line" nare#Lt_of_moyo/ca hr
 ;316rns true 6013/ade=is_not" class="sr4sity/tomo4code=checked" class="sre4">che48ed3/a>[3a href="+code=is_not" class=>.2293/get_transi=_pid>erencene" namn>
L229">.2293/get_transi=_pid>erence="sraa> *3a href="+co>L21ne" namn>
L229"">L21filnl;rity/tomo199">.1Ass=1"line" namn>
L19a hrap;316rns true 6013/ade=is_not" class="sr4s" class=4" namn>
L187">.1873/a>  4     489">.2263/a>   id>
Le ref">a> *3a href="+cend_of_moyo/colass="line" naend_of_moyo/c3/a>                  re#Lt_of_moyo/colass="line" nare#Lt_of_moyo/ca hr
+                refl      break; /*3/spa
  .2263/a>   id>
L           retuoosoyo/condi  >
.coosa hr if (3a href="+code=cp" class="sref">cp34a
.c#L1694ll unchecked indexes in34spa
 49a href60" class="linreru     break;                         break;    4                     * b4rm-&g492urity/tomoyoa> *3a href="+coosoyo/condi  >
.coosa hr                  re#Lt_of_moyo/colass="line" nare#Lt_of_moyo/ca hr if (3a href="+code=cp" class="sref">cp34aptr3/a>,4L192" id>
L192" class="l4ne" n493urity/tomoyowhi>
 (1a namn>
L197">.1973/a>                for 4>[3a href4"+code=i" class="sref">i4/a>].49defined or not matchetomo199">.1Ass=u8oyo/condi  >
.cu8pa
  
L229"lefta hr   -1 if (3a href="+code=cp" class="sref">cp34aamn>
L164 
L212">.21ightfiln   -1 if (3a href="+code=cp" class="sref">cp34a+] = (3a4f="+code=result" class="4ref">49f="+code=tomoyo_scan_ id>
L           retuleft_wordne" namn>
L229"left_worda hr                  oosoyo/condi  >
.coosa hr if (3a href="+code=cp" class="sref">cp34aondi  >
4ty/tomoyo/condi  >
.c#L145" id49href="+code=is_not" c id>
L160" class="line" namn>
L160">.1603/a> if (3a href="+code=cp" class="sref">cp34aity/tomo4code=i" class="sref">i3/4> = 049ed3/a>[3a href="+code id>
L160" class="lin1ight_wordne" namn>
L229"1ight_word3/a> if (3a href="+code=cp" class="sref">cp34a" class=4" id>
L198" class="line"4namn>49e=false" class="sref"=is_not" class=ss, false otherwise.3/spa
  .2is_not3/a> if (3a href="+code=cp" class="sref">cp35/a>[3a hr5f="+code=argc" class="sr5f">ar503/a> + 3a href="+codee" n>L           retuleft_wordne" namn>
L229"left_worda hrass="sref">filn3/a>->3a href="+code=f5lass="lin5" namn>
L199">.1993/a>  5     5069">.1693/a>                 line" namn>
L207">.2073/a>                   5s="commen5">/*3/spa
  
.c#L223" id>
L223" class="li5s3"commen5"192" id>
L192" class="l5/tomo50th=", false if "e"""""""""""""""""* Since left-hand
" namn>
L.doesfnot
allow used>
Ld.2163">th_groupdi  >
3/a>++]o/condi  >
.c#L223" id>
L223" class="li5s4"commen5"+code=i" class="sref">i5ther 50ot;struct tomoyo_execve"""""""""""""""""* orLd.2163number_groupdi  >
 and
|| ironve&q varimn>
     s"srefs do not3/a>++]o/condi  >
.c#L223" id>
L223" class="li5s5"commen5"++]o/condi  >
.c#L223" id>
L223" class="li5s6"commen5"="+code=result" class="5p" cl50a href="security/tomoyo/con"exec_rea""""""""* oftoned>r more repetmn>
L.oft$left$operator$1ight blocks3/a>++]o/condi  >
.c#L223" id>
L223" class="li5s7"commen5"y/tomoyo/condi  >
.c#L15>350>
.c#L215" id>
L215" class="exec_rea""""""""* whereLd.2163$left isffresffrom      =      and
           di  >
 and
d.2163$operator is3/a>++]o/condi  >
.c#L223" id>
L223" class="li5s8"commen5"ode=i" class="sref">i3/5/cond50lass="line" namn>
L217">.217exec_rea""""""""* eif="s      =      os      !=     di  >
 and
d.2163$1ight isffresffrom            di  >
ity/tomoyo/condi  >
.c#L222" id>
L222" class="l5s9ontinue5  id>
L198" class="line"5ref">50aramnter of "struct tomexec_rea""""""""* Therefore, wre aL.rr ref">
L219heco1iginal ecureat hhecend  /tomoyo/condi  >
.c#L222" id>
L222" class="l5ef="secur5ty/tomoyo/condi  >
.c#L258" id51"> *3/spa
  
.c#L222" id>
L222" class="l5eass="lin5reak; 
.c#L223" id>
L223" class="li5  } 
L160">.1603/a>                  ref=hsecurity/tomoyo/ref=hsa hre=is_not" class=oosoyo/condi  >
.coosa href="security/tomoyo/cond_len g_len3/a>++]ahref="security/tomoyo/condi  >
.c#L131" 5ocal_chec5ed3/a>) 
L180">.180e" namn>
L160">.1603/a>a namn>
L197">.1973/a>                for 5o4ariable5n3/a>(3a href="+code=che5ked" 51defined or not matchef="+codeL160" class="line" namn>
L160">.1603/a>    .1623/a>                                cruct tomoyo_execve&quo/* Will restore lateridity/tomoyo/condi  >
.c#L223" id>
L223" class="li5oyo/condi5 >
.c#L213" id>
L213" cl5ss="l51e" namn>
L173">.1733/a>                     oosoyo/condi  >
.coosa hr                  e" namn>
L160">.1603/a> + 1 if (3a href="+code=cp" class="sref">cp35o        5sult" class="sref">resul53/a>;51ity/tomoyo/condi  >
. >
.c#L171" id>
L171" class="line" namn>
L171">5 +code=en5
.coosa hr    "security/tomoyo/condi  >
&i  >
3/a>++]href="security/tomoyo/condi  >
.c#L131" 5econtinue5yo/condi  >
.c#L217" id>5L217"51 >
.c#L207" id>
L207" ;316rns true 6013/ade=is_not" class="sr5alpath - 5heck "exec.realpath5quot;51e=false" class="sref"160" class="lin1ight_wordne" namn>
L229"1ight_word3/a>                  ref=hsecurity/tomoyo/ref=hsa hre=is_not" class=left_wordne" namn>
L229"left_worda href="security/tomoyo/cond_len=g_len3/a>++]ahref="security/tomoyo/condi  >
.c#L131" 5" namn>
L518">.2183/a>3spa
 class=5comme523/a> + 3a href="+codee" n>160" class="lin1ight_wordne" namn>
L229"1ight_word3/a> ||"160" class="lin1ight_wordne" namn>
L229"1ight_word3/a>                   left_wordne" namn>
L229"left_worda hrass="sref">filn3/a>->3a href="+code=f5"ass="lin5quot;struct filn".35spa
 5269">.1693/a>                 go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5
".35spa
  
L212">.2is_not3/a>   *e=is_not" class=1ight_wordne" namn>
L229"1ight_word3/a> - 1)     .1623/a>                 !             if (3a href="+code=cp" class="sref">cp35ment"> * 5match: True if "exe5.real52href="+code=envp_coune" namn>
L180">.180is_not namn>
L212">.2is_not3/a>ass="sref">filn3/a>->3a href="+code=f5"4ariable5L222">.2223/a>3spa
 clas5="com52defined or not matcheeeeeeeee*e=is_not" class=1ight_wordne" namn>
L229"1ight_word3/a>++ - 1)    .1623/a>                                cruct tomoyo_execve&quo/* Will restore lateridity/tomoyo/condi  >
.c#L223" id>
L223" class="li5
yo/condi5223">.2233/a>3spa
 class5"comm52e" namn>
L173">.1733/
.c#Le" nLe=is_not" class=1ight_wordne" namn>
L229"1ight_word3/a> + 1) !   .1623/a>                 =g_len3/a>++]ao/condi  >
.c#L223" id>
L223" class="li5
        5ol" class="sref">bool3/a5 3a h5ef="+code=tomoyo_scan_eeeeeeee*=is_not" class=1ight_wordne" namn>
L229"1ight_word3/a>++    .1623/a>                                cruct tomoyo_execve&quo/* Will restore lateridity/tomoyo/condi  >
.c#L223" id>
L223" class="li5
+code=en5id>
L226" class="line" n5mn>
L52href="+code=is_not" c
.c#mn>
L213">.2133/a>        return 3a hre5"continue5rity/tomoyo/condi  >
.c#5227" 52 >
.c#L207" id>
L207" class="go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5
lpath - 5                       c5nst 352e=false" class="sref"160" class="lindp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: &l>
%s  3s%s=&l>
%s  3s\ndi  >
3/a>++]l; 127) { 
L229"left_worda hre;316rns true 6013/ade=is_not" class="sr5s="line" 5amn>
L228">.2283/a>{ .2is_not3/a> ? <"security/tomoyo/condi  >
!di  >
3/a>++] :  "security/tomoyo/condi  >
&i  >
3/a>++]l; 127) { 
L229"1ight_word3/a>ahref="security/tomoyo/condi  >
.c#L131" 5sass="lin5ref="security/tomoyo/con5i  >
5369">.1693/a>         e" n>               ref=m class="line" naref=m a hrene" namn>
L233"left_wordne" namn>
L229"left_worda href="security/tomoyo/condi  >
grant_logdi  >
3/a>++]aa namn>
L197">.1973/a>                for 53".35tomoyo_path_info3/a> 3a 5ref="53argv[] are not matche        e" n160" class="lin183"y"line" namn>
L1963"ya hra namn>
L197">.1973/a>                for 53ent"> * 5  if (!3a href="+code=fi5n" cl53href="+code=envp_counnnnnnnnn        e" n160" class="linis_not namn>
L212">.2is_not3/a> ||amn>
L197">.1973/a>                for 5namn" cla5s="sref">namn3/a> = 3a h5ef="+53defined or not matcheeeeeeeeecodeeeeeeeee
L1963"ya hrs="line" namn>
L233"grant_log"line" namn>
L1grant_logefine!                 ecurityGRANTLOG_AUTO"line" namn>
L1ecurityGRANTLOG_AUTO3/a>ass="sref">filn3/a>->3a href="+code=f5path" cla5s="sref">f_path3/a>); 
L173">.1733/a>                      go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5    f">i35a>]) i3/a57urit53f="+code=tomoyo_scan_eeeeeeeeeeeeeeee
.c#Le" n>               ref=m class="line" naref=m a hrene" namn>
L233"1ight_wordne" namn>
L229"1ight_word3/a>ef="security/tomoyo/condi  >
yesdi  >
3/a>++]aa;316rns true 6013/ade=is_not" class="sr5 +code=en5ent"> =f">toef="+code=re5ult" 53href="+code=is_not" class="sreeeecodeeeeeeeee
L1963"ya hrs="line" namn>
L233"grant_log"line" namn>
L1grant_logefine                 ecurityGRANTLOG_YESity/tomoyo/condecurityGRANTLOG_YES793/p;316rns true 6013/ade=is_not" class="sr5 continue5 namn>
L137">.1373/a>   5     53 >
.c#L207" id>
L207" class="eeeeeeee
.c#Le" n>               ref=m class="line" naref=m a hrene" namn>
L233"1ight_wordne" namn>
L229"1ight_word3/a>ef="security/tomoyo/condi  >
nodi  >
3/a>++]aa;316rns true 6013/ade=is_not" class="sr5 lpath - 5ine" namn>
L138">.1383/a5     53e=false" class="sref"lass="sreeeecodeeeeeeeee
L1963"ya hrs="line" namn>
L233"grant_log"line" namn>
L1grant_logefine                 ecurityGRANTLOG_NO"line" namn>
L1ecurityGRANTLOG_NO793/p;316rns true 6013/ade=is_not" class="sr5href="+co5e=arg_len" class="sref">5rg_le543/a> + 3a href="+codeeeeeeeeeeeeeeeee
.c#mn>
L213">.2133/a>        return 3a hre5h/a>; 
L140">.1403/a>   5     5469">.1693/a>                                 go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5h".35          3a href="+code5arg_p54argv[] are not matche         ;316rns true 6013/ade=is_not" class="sr5rity/tomo5o/condi  >
.c#L142" id>
5142" 54href="+code=envp_counnnnnnnnncretinuep;316rns true 6013/ade=is_not" class="sr5ramn" cla5 >
.c#L143" id>
L143" cl5ss="l54defined or not matche ;316rns true 6013/ade=is_not" class="sr5rath" cla5             3a href="+c5de=ar54                  if e" n>               refn=m class="line" narefn=m a hrene" namn>
L233"left_wordne" namn>
L229"left_worda href="security/tomoyo/condi  >
exec. rgv[&i  >
3/a>++]l;10aa namn>
L197">.1973/a>                for 5++] = (3a5href="+code=c" class="sr5f">c354ity/tomoyo/condi  >
.     if e" n>               argvne" namn>
L229" rgva hra namn>
L197">.1973/a>                for 5++code=en5
.c#L145" id>
L145" clas5="lin54href="+code=is_not" class="sreeeecode
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a>++p;316rns true 6013/ade=is_not" class="sr5rcontinue5ass="line" namn>
L147">.5473/a54 >
.c#L207" id>
L207" class="eeeeeeee
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>++p;316rns true 6013/ade=is_not" class="sr5rlpath - 53a href="+code=arg_len" 5lass=54e=false" class="sref"t matche >
.c#L171" id>
L171" class="line" namn>
L171">5148" clas5="line" namn>
L148">.1485/a>  553/a> + 3a href="+codelass="sreeeecode
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a>--p;316rns true 6013/ade=is_not" class="sr51/a>; .1493/a>            5     5569">.1693/a>                 eeeeeeee
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>--p;316rns true 6013/ade=is_not" class="sr51".3550">.1503/a>            5     55argv[] are not matche        eeeeeeee
L229"lefta hr                  ecurityARGV_ENTRY"line" namn>
L1ecurityARGV_ENTRY793/p;316rns true 6013/ade=is_not" class="sr51ity/tomo5ass="comment">/* Check. 5/3/sp55href="+code=envp_counnnnnnnnneeeeeeee
L229" rgva hrs="line" namn>
L233"is_not namn>
L212">.2is_not3/a>   .2is_not3/a> if (3a href="+code=cp" class="sref">cp351amn" cla5!3a href="+code=tomoyo_a5gv" c55defined or not matchef="+codeeeeeeeeee" n>               ty/tomop>rs>iargvne" namn>
L229">.2293/p>rs>iargva hrene" namn>
L233"left_wordne" namn>
L229"left_worda hr + 10e;316rns true 6013/ade=is_not" class="sr51ath" cla5amn>
L154">.1543/a>     5     55                  if                                        ne" namn>
L233"1ight_wordne" namn>
L229"1ight_word3/a>ef=a href="securiargvne" namn>
L229" rgva hr++aa;316rns true 6013/ade=is_not" class="sr51+] = (3a5="sref">argv3/a>, 
L179">.1793/p;316rns true 6013/ade=is_not" class="sr51+code=en5ty/tomoyo/condi  >
.c#L156" id55href="+code=is_not" class="sr ;316rns true 6013/ade=is_not" class="sr5 ref="sec5 class="sref">result3/a>5= 3a 55 >
.c#L207" id>
L207" class="go;.3160" class="linstore_valass="sref">envp3/store_valas793/p;316rns true 6013/ade=is_not" class="sr51lpath - 5L157" class="line" namn>5L157"55e=false" class="sref" ;316rns true 6013/ade=is_not" class="sr5583/a>   5                        5   } 563/a> + 3a href="+codee" n>160" class="linrefn=m class="line" narefn=m a hrene" namn>
L233"left_wordne" namn>
L229"left_worda href="security/tomoyo/condi  >
exec.|| <[\di  >
&i  >
3/a>++]l;11aa namn>
L197">.1973/a>                for 55/a>; argv_count3/a>-5; .1693/a>                 e" n>160" class="lin18ref">is_not3/a>) || 
L197">.1973/a>                for 55".35                    char5*3a h56argv[] are not matche        eeeeeeee
L19ref=_from_path3/a>(&|| =envp" class="sr|| =3/a>++p;316rns true 6013/ade=is_not" class="sr5_ptr3/a>,53spa
 class="string">#=Ťhref="+code=envp_coun        eeeeeeee
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>++p;316rns true 6013/ade=is_not" class="sr5a>) { 
.c#L171" id>
L171" class="line" namn>
L171">5namn>
L165">.1643/a>              5     56                  if                 
L19ref=_from_path3/a>(&|| =envp" class="sr|| =3/a>--p;316rns true 6013/ade=is_not" class="sr5n+] = (3a5condi  >
.c#L165" id>
L155" cl56f="+code=tomoyo_scan_exec_reaaaaaaaaa
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>--p;316rns true 6013/ade=is_not" class="sr5condi  >
5c#L166" id>
L166" class=5line"56href="+code=is_not" class="sreeeecode
L229"lefta hr                  ecurityENVP_ENTRY"line" namn>
L1ecurityENVP_ENTRY793/p;316rns true 6013/ade=is_not" class="sr5rity/tomo5o/condi  >
.c#L167" id>
5167" 56 >
.c#L207" id>
L207" class="eeeeeeeeis_not3/a>) || 
L233"is_not namn>
L212">.2is_not3/a>   .2is_not3/a> if (3a href="+code=cp" class="sref">cp35a        5sref">result3/a> = 3a hr5f="+c56e=false" class="sref"lass="sreeeecodee" n>               ty/tomop>rs>i"sref">is_not3/a>) o/condip>rs>i"srea hrene" namn>
L233"left_wordne" namn>
L229"left_worda hr + 11e;316rns true 6013/ade=is_not" class="sr5class="li5e" namn>
L168">.1683/a> 5     573/a> + 3a href="+codeeeeeeeeeeeeeeeeeeeeeeeeeeeess="eeeeeeee
L229"1ight_word3/a>ef=a href="securi18ref">is_not3/a>) || 
5769">.1693/a>                                 go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5c        5                        5   } 57argv[] are not matche         ;316rns true 6013/ade=is_not" class="sr5cptr3/a>,5                        5    357href="+code=envp_coun        go;.3160" class="linstore_valass="sref">envp3/store_valas793/p;316rns true 6013/ade=is_not" class="sr5di  >
.c#5172" id>
L172" class="li5e" na57defined or not matche ;316rns true 6013/ade=is_not" class="sr5damn>
L165 >
.c#L173" id>
L173" cl5ss="l57                  if 160" class="linleftne" namn>
L229"lefta hr                  >.2293/" namn>
L_typene" namn>
L229">.2293/" namn>
L_typea hrene" namn>
L233"left_wordne" namn>
L229"left_worda hrahref="security/tomoyo/condi  >
.c#L131" 5d+] = (3a5>
L174">.1743/a>        5     57f="+code=tomoyo_scan_=is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: &l>
%s  3s left=%u\ndi  >
3/a>++]l; 127) { 
L229"left_worda hre;316rns true 6013/ade=is_not" class="sr5londi  >
5ne" namn>
L175">.1753/a>5     57href="+code=is_not" class="sr=is_not" class=leftne" namn>
L229"lefta hrahref="security/tomoyo/condi  >
.c#L131" 5dity/tomo5 class="line" namn>
L1765>.17657 >
.c#L207" id>
L207"e" n160" class="linleftne" namn>
L229"lefta hr                   ecurityMAX_CONDITION_KEYWORD"line" namn>
L1ecurityMAX_CONDITION_KEYWORDa hra namn>
L197">.1973/a>                for 5l" class=5a href="+code=offset" cl5ss="s57e=false" class="sref"lass="sre" n>               numbers_" namn>
L160">.1numbers_"a hra namn>
L197">.1973/a>                for 5ss="line"5namn>
L178">.1783/a>    5     583/a> + 3a href="+codelass="sreeeecode
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>++p;316rns true 6013/ade=is_not" class="sr5s
.c#L1695="security/tomoyo/condi 5>
.c#5869">.1693/a>                  >
.c#L171" id>
L171" class="line" namn>
L171">5s        5tomoyo/condi  >
.c#L180"5id>
L58argv[] are not matche        eeeeeeee
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>--p;316rns true 6013/ade=is_not" class="sr5sptr3/a>,5>
L181">.1813/a>3a href=5+code58href="+code=envp_coun        eeeeeeee
L229"lefta hr                  ecurityNUMBER_UNION"line" namn>
L1ecurityNUMBER_UNION793/p;316rns true 6013/ade=is_not" class="sr5si  >
.c#5        if (3a href="+co5e=res58defined or not matchef="+codeeeeeeeee               o>L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
  
L229"left_worda hrp;316rns true 6013/ade=is_not" class="sr5samn>
L1653a href="+code=i" class=5sref"58                  if                 e" nL160" class="linleft_wordne" namn>
L229"left_worda hr     .1623/a>                 @             ||amn>
L197">.1973/a>                for 5s+] = (3a5
L185">.1853/a>         5     58f="+code=tomoyo_scan_exec_reaaaaaaaaaaaaa>               ty/tomop>rs>inumber_un>
Lne" namn>
L229">.2293/p>rs>inumber_un>
Lpa
 (=is_not" class=o>L21ne" namn>
L229"">L21filnln3/a>, 
L160">.1numbers_"a hr++aa;316rns true 6013/ade=is_not" class="sr5sity/tomo5code=checked" class="sre5">che58ed3/a>[3a href="+codeeeeeeeeeeeeeeeeeeeeeeeeego;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr5s" class=5" namn>
L187">.1873/a>  5     58e=false" class="sref"t matche ;316rns true 6013/ade=is_not" class="sr5a
 class=5comment">/*3/spa
  .1693/a>         e" n>               c na" namn>
L160">.16 na"a hra;316rns true 6013/ade=is_not" class="sr5a03/a>   5                     * b5rm-&g59argv[] are not matche        
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>++p;316rns true 6013/ade=is_not" class="sr5aptr3/a>,5L192" id>
L192" class="l5ne" n59href="+code=envp_coun
.c#mn>
L213">.2133/a>        return 3a hre5>[3a href5"+code=i" class="sref">i5/a>].59defined or not matche        
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>--p;316rns true 6013/ade=is_not" class="sr5aamn>
L165 
L229"lefta hr                   ecurityEXEC_REALPATH"line" namn>
L1ecurityEXEC_REALPATHa hr ||amn>
L197">.1973/a>                for 5a+] = (3a5f="+code=result" class="5ref">59f="+code=tomoyo_scan_    
L229"lefta hr                   ecuritySYMLINK_TARGET"line" namn>
L1ecuritySYMLINK_TARGETa hra namn>
L197">.1973/a>                for 5aondi  >
5ty/tomoyo/condi  >
.c#L155" id59href="+code=is_not" c        e" n>               nales_" namn>
L160">.1nales_"a hra namn>
L197">.1973/a>                for 5aity/tomo5code=i" class="sref">i3/5> = 059ed3/a>[3a href="+codet matche        
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a>++p;316rns true 6013/ade=is_not" class="sr5a" class=5" id>
L198" class="line"5namn>59e=false" class="sref""""""""" >
.c#L171" id>
L171" class="line" namn>
L171">6/a>[3a hr6f="+code=argc" class="sr6f">ar603/a> + 3a href="+codet matche        
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a>--p;316rns true 6013/ade=is_not" class="sr6lass="lin6" namn>
L199">.1993/a>  6     6069">.1693/a>                         .21ightfiln                  ecurityNAME_UNION"line" namn>
L1ecurityNAME_UNION793/p;316rns true 6013/ade=is_not" class="sr6s="commen6">/*3/spa
  L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
  
L229"1ight_word3/a> if (3a href="+code=cp" class="sref">cp36s3"commen6"192" id>
L192" class="l6/tomo60href="+code=envp_counnnnnnnnn        e" n>               ty/tomop>rs>ina
L_i  >edne" namn>
L229"ty/tomop>rs>ina
L_i  >edpa
 (=is_not" class=o>L21ne" namn>
L229"">L21filnln3/a>, i6ther 60defined or not matcheeeeeeeeecodeeeeeeeee] are not matche                
L160">.1nales_"a hr++aa;316rns true 6013/ade=is_not" class="sr6s5"commen6"
L173">.1733/a>                      go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr6s6"commen6"="+code=result" class="6p" cl60f="+code=tomoyo_scan_exec_rea ;316rns true 6013/ade=is_not" class="sr6s7"commen6"y/tomoyo/condi  >
.c#L16>360href="+code=is_not" c        go;.3160" class="linstore_valass="sref">envp3/store_valas793/p;316rns true 6013/ade=is_not" class="sr6s8"commen6"ode=i" class="sref">i3/6/cond60 >
.c#L207" id>
L207" ;316rns true 6013/ade=is_not" class="sr6s9ontinue6  id>
L198" class="line"6ref">60e=false" class="sref"160" class="lin1ight namn>
L212">.21ightfiln                  >.2293/" namn>
L_typene" namn>
L229">.2293/" namn>
L_typea hrene" namn>
L233"1ight_wordne" namn>
L229"1ight_word3/a>ahref="security/tomoyo/condi  >
.c#L131" 6ef="secur6ty/tomoyo/condi  >
.c#L268" id613/a> + 3a href="+codee" namn>
L180">.1801ight namn>
L212">.21ightfiln                   ecurityMAX_CONDITION_KEYWORD"line" namn>
L1ecurityMAX_CONDITION_KEYWORDa hra namn>
L197">.1973/a>                for 6eass="lin6reak; .1693/a>                 e" n>160" class="linnumbers_" namn>
L160">.1numbers_"a hra namn>
L197">.1973/a>                for 6  } 
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>++p;316rns true 6013/ade=is_not" class="sr6ocal_chec6ed3/a>) 
L207" >
.c#L171" id>
L171" class="line" namn>
L171">6o4ariable6n3/a>(3a href="+code=che6ked" 61defined or not matchef="+codes="sref"160" class="lin1"line" namn>
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>--p;316rns true 6013/ade=is_not" class="sr6oyo/condi6 >
.c#L213" id>
L213" cl6ss="l61e" namn>
L173">.1733/a>      s="sref"160" class="linright namn>
L212">.21ightfiln                  ecurityNUMBER_UNION"line" namn>
L1ecurityNUMBER_UNION793/p;316rns true 6013/ade=is_not" class="sr6o        6sult" class="sref">resul63/a>;61ity/tomoyo/condi  >
.a>      s="sref"160" class="lino>L21ne" namn>
L229"">L21filn   3spa
 class="comment">/* Read. */3/spa
  
L229"1ight_word3/a> if (3a href="+code=cp" class="sref">cp36 +code=en6               ty/tomop>rs>inumber_un>
Lne" namn>
L229">.2293/p>rs>inumber_un>
Lpa
 (=is_not" class=o>L21ne" namn>
L229"">L21filnln3/a>, 6L217"61 >
.c#L207" id>
L207""""""""""""""""""""""""""""""""""""""""""""""""               numbers_" namn>
L160">.1numbers_"a hr++aa;316rns true 6013/ade=is_not" class="sr6alpath - 6heck "exec.realpath6quot;61e=false" class="sref"""""""""""""""""""""""""go;.3160" class="lin"line" namn>
L179">.1793/p;316rns true 6013/ade=is_not" class="sr6" namn>
L618">.2183/a>3spa
 class=6comme623/a> + 3a href="+codeeeeeeeee ;316rns true 6013/ade=is_not" class="sr6"ass="lin6quot;struct filn".36spa
 6269">.1693/a>          ;316rns true 6013/ade=is_not" class="sr6" } envp3/store_valas793/a>                        break;  * 6match: True if "exe6.real62href="+code=envp_coune" n>               c na" namn>
L160">.16 na"a hraL171" id>
L171" class="line" namn>
L171">6"4ariable6L222">.2223/a>3spa
 clas6="com62defined or not matcheeeeeeeee=is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: dry_ru  left=%u 1ight=%u di  >
3/a>++]o/condi  >
.c#L223" id>
L223" class="li6
yo/condi6223">.2233/a>3spa
 class6"comm62e" namn>
L173">.1733/t matcheeeeeeeee="security/tomoyo/condi  >
match=%u\ndi  >
3/a>++]l; 127) { 
L229"lefta hrl; 127) { 
L212">.21ightfiln,a>               is_not namn>
L212">.2is_not3/a>ap;316rns true 6013/ade=is_not" class="sr6"        6ol" class="sref">bool3/a6 3a h6ef="+code=tomoyo_scan_eeeeeeeecretinuep;316rns true 6013/ade=is_not" class="sr6
+code=en6id>
L226" class="line" n6mn>
L62href="+code=is_not" c ;316rns true 6013/ade=is_not" class="sr6"continue6rity/tomoyo/condi  >
.c#6227" 62 >
.c#L207" id>
L207"               c na" namn>
L160">.16 na"a hr   3spa
 class="commleftne" namn>
L229"lefta hr                  leftne" namn>
L229"lefta hrp;316rns true 6013/ade=is_not" class="sr6
lpath - 6                       c6nst 362e=false" class="sref"160" class="linc na" namn>
L160">.16 na"a hr   3spa
 class="commright namn>
L212">.21ightfiln                  right namn>
L212">.21ightfilnp;316rns true 6013/ade=is_not" class="sr6s="line" 6amn>
L228">.2283/a>{ 
L160">.16 na"a hr   3spa
 class="commequalsoyo/condi  >
.cequalsfiln   >               is_not namn>
L212">.2is_not3/a>p;316rns true 6013/ade=is_not" class="sr6sass="lin6ref="security/tomoyo/con6i  >
6369">.1693/a>         =is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: left=%u 1ight=%u match=%u\ndi  >
3/a>++]l;316rns true 6013/ade=is_not" class="sr6s }  3a 6ref="63argv[] are not matche         127) { 
L160">.16 na"a hr   3spa
 class="commleftne" namn>
L229"lefta hrl; 127) { 
L160">.16 na"a hr   3spa
 class="comm1ight namn>
L212">.21ightfiln,;316rns true 6013/ade=is_not" class="sr6sent"> * 6  if (!3a href="+code=fi6n" cl63href="+code=envp_counnnnnnnnn160" class="linc na" namn>
L160">.16 na"a hr   3spa
 class="commequalsoyo/condi  >
.cequalsfilnap;316rns true 6013/ade=is_not" class="sr6namn" cla6s="sref">namn3/a> = 3a h6ef="+63defined or not matche160" class="linc na" namn>
L160">.16 na"a hr++p;316rns true 6013/ade=is_not" class="sr6path" cla6s="sref">f_path3/a>); 
L173 ;316rns true 6013/ade=is_not" class="sr6    f">i36a>]) i3/a67urit63f="+code=tomo=is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_INFO"line" namn>
L1KERN_INFOpa
  <"security/tomoyo/condi  >
%u: ot" =%u numbers=%u nales=%u ac=%u ec=%u\ndi  >
3/a>++]l;316rns true 6013/ade=is_not" class="sr6s+code=en6ent"> =f">toef="+code=re6ult" 63href="+code=is_not" c 127) { 
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>l; 127) { 
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>l; 127) { 
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a>l; 127) { 
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a>l;316rns true 6013/ade=is_not" class="sr6scontinue6 namn>
L137">.1373/a>   6     63 >
.c#L207" id>
L207" 127) { 
L19ref=_from_path3/a>(&|| =envp" class="sr|| =3/a>ap;316rns true 6013/ade=is_not" class="sr6nlpath - 6ine" namn>
L138">.1383/a6     63e=false" clase" n160" class="lin183"y"line" namn>
L1963"ya hra namn>
L197">.1973/a>                for 6href="+co6e=arg_len" class="sref">6rg_le643/a> + 3a href="+code160" class="linBUG_ON"line" namn>
L1BUG_ONpa
 (=is_not" class=1"line" namn>
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a> |"160" class="lin1"line" namn>
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a> |"160" class="lin1"line" namn>
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a> |"160" class="lin1"line" namn>
L19ref=_from_path3/a>(&|| =envp" class="sr|| =3/a> |amn>
L197">.1973/a>                for 6h/a>; 
L140">.1403/a>   6     6469">.1693/a>                 127) { 
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>ap;316rns true 6013/ade=is_not" class="sr6h".36          3a href="+code6arg_p64argv[] are not matchereturn                >.2293/" mmit/" namn>
Lne" namn>
L229">.2293/" mmit/" namn>
Lpa
 (=is_not" class=183"y"line" namn>
L1963"ya hrap;316rns true 6013/ade=is_not" class="sr6hent"> * 6o/condi  >
.c#L142" id>
6142" 64href="+code=e ;316rns true 6013/ade=is_not" class="sr6ramn" cla6 >
.c#L143" id>
L143" cl6ss="l64defined or no 127) { 
L19ref=_from_path3/a>(&sizss="sref">envp3/sizsfiln   sizsofnL160" class="lin183"y"line" namn>
L1963"ya hra;316rns true 6013/ade=is_not" class="sr6rath" cla6             3a href="+c6de=ar64                  if +                1"line" namn>
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a> * sizsofnf">
L21               >.2293/" namn>
L_eleve&que" namn>
L229">.2293/" namn>
L_eleve&qa hra;316rns true 6013/ade=is_not" class="sr6r   f">i36href="+code=c" class="sr6f">c364ity/tomoyo/condi  >
.+                1"line" namn>
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a> * sizsofnf">
L21               >.2293/number_un>
Lne" namn>
L229">.2293/number_un>
Lpa
 a;316rns true 6013/ade=is_not" class="sr6r+code=en6
.c#L145" id>
L145" clas6="lin64href="+code=is_not" c+                1"line" namn>
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a> * sizsofnf">
L21               >.2293/na
Lne" namn>
L229">.2293/na
Lpa
 a;316rns true 6013/ade=is_not" class="sr6rcontinue6ass="line" namn>
L147">.6473/a64 >
.c#L207" id>
L207"+                1"line" namn>
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a> * sizsofnf">
L21               >.2293/argvne" namn>
L229">.2293/ rgva hra;316rns true 6013/ade=is_not" class="sr6rlpath - 63a href="+code=arg_len" 6lass=64e=false" class="sref"+                1"line" namn>
L19ref=_from_path3/a>(&|| =envp" class="sr|| =3/a> * sizsofnf">
L21               >.2293/"sref">is_not3/a>) o/condi|| 
L148">.1486/a>  653/a> + 3a hre160" class="lin183"y"line" namn>
L1963"ya hr                  kzallo=envp" class="srkzallo=pa
 (=is_not" class=1"line" namn>
L19ref=_from_path3/a>(&sizss="sref">envp3/sizsfilnl; 127) { .1493/a>            6     6569">.1693/a> e" n>160" class="lin183"y"line" namn>
L1963"ya hra;316rns true 6013/ade=is_not" class="sr61".3650">.1503/a>            6     65argv[] are not matchego;.3160" class="lin"li2"line" namn>
L1"li23/a>p;316rns true 6013/ade=is_not" class="sr61ity/tomo6ass="comment">/* Check. 6/3/sp65href="+code=eL160" class="lin183"y"line" namn>
L1963"ya hr                  1"line" namn>
L19ref=p;316rns true 6013/ade=is_not" class="sr61amn" cla6!3a href="+code=tomoyo_a6gv" c65defined or no 127) { 
L19ref=_from_path3/a>(&transique" namn>
L229">ransiqa hr                  NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr61ath" cla6amn>
L154">.1543/a>     6     65             160" class="linc na" namn>
L160">.16 na"a hr   nf">
L21               >.2293/" namn>
L_eleve&que" namn>
L229">.2293/" namn>
L_eleve&qa hr *) n160" class="lin183"y"line" namn>
L1963"ya hr + 1)p;316rns true 6013/ade=is_not" class="sr61   f">i36="sref">argv3/a>, 
L160">.1numbers_"a hr   nf">
L21               >.2293/number_un>
Lne" namn>
L229">.2293/number_un>
Lpa
  *) n160" class="linc na" namn>
L160">.16 na"a hr +                1"line" namn>
L19ref=_from_path3/a>(&ot" =envp" class="srot" =3/a>)p;316rns true 6013/ade=is_not" class="sr61+code=en6ty/tomoyo/condi  >
.c#L166" id65href="+code=ifrom_path3/a>(&nales_" namn>
L160">.1nales_"a hr   nf">
L21               >.2293/na
Lne" namn>
L229">.2293/na
Lpa
  *) n160" class="linnumbers_" namn>
L160">.1numbers_"a hr +                1"line" namn>
L19ref=_from_path3/a>(&numbers_couasse" namn>
L229"numbers_couas3/a>)p;316rns true 6013/ade=is_not" class="sr61continue6 class="sref">result3/a>6= 3a 65 >
.c#L207" ifrom_path3/a>(& rgvne" namn>
L229" rgva hr   nf">
L21               >.2293/argvne" namn>
L229">.2293/ rgva hr *) n160" class="linnales_" namn>
L160">.1nales_"a hr +                1"line" namn>
L19ref=_from_path3/a>(&nales_couasse" namn>
L229"nales_couas3/a>)p;316rns true 6013/ade=is_not" class="sr61lpath - 6L157" class="line" namn>6L157"65e=false" clasfrom_path3/a>(&|| ef">is_not3/a>) || 
L21               >.2293/"sref">is_not3/a>) o/condi|| 
L229" rgva hr +                1"line" namn>
L19ref=_from_path3/a>(& rg=envp" class="srerg=3/a>)p;316rns true 6013/ade=is_not" class="sr6583/a>   6                        6   } 663/a> + 3a hrenamn>
L197">.1973/a>                for 65/a>; argv_count3/a>-6; .1693/a>         from_path3/a>(&boolenvp" class="srboolpa
  (&flag"line" namn>
L1flaga hr                  fals1"line" namn>
L1fals1ref=p;316rns true 6013/ade=is_not" class="sr65".36                    char6*3a h66argv[] are not matchefor n160" class="linoosoyo/condi  >
.coosa hr                  start_of_moyo/co="sref">envp3/start_of_moyo/cref=p"160" class="linoosoyo/condi  >
.coosa hr &l>
sfrom_path3/a>(&||d_of_moyo/co="sref">envp3/||d_of_moyo/cref=p"160" class="linoosoyo/condi  >
.coosa hr++a namn>
L197">.1973/a>                for 6_ptr3/a>,63spa
 class="string">$=Ůhref="+code=envp_coun        e" nL160" class="linoosoyo/condi  >
.coosa hra;316rns true 6013/ade=is_not" class="sr6a>) { .1643/a>              6     66                  if         e" n160" class="linflag"line" namn>
L1flaga hr)cruct tomoyo_execve&quo/* Restore di  >
 di  >
idity/tomoyo/condi  >
.c#L223" id>
L223" class="li6n+] = (3a6condi  >
.c#L165" id>
L165" cl66f="+code=tomoyo_scan_exec_reaaaaaaaaaL160" class="linoosoyo/condi  >
.coosa hr    .1623/a>                               if (3a href="+code=cp" class="sref">cp36condi  >
6c#L166" id>
L166" class=6line"66href="+code=is_not" class="sr
.c#Le" nLe=is_not" class=oosoyo/condi  >
.coosa hr + 1)     .1623/a>                 =g_len3/a>++]acruct tomoyo_execve&quo/* Restore di  >
!=di  >
idity/tomoyo/condi  >
.c#L223" id>
L223" class="li6ncontinue6o/condi  >
.c#L167" id>
6167" 66 >
.c#L207" id>
L207" class="eeeeeeeeL160" class="linoosoyo/condi  >
.coosa hr    .1623/a>                 !             if (3a href="+code=cp" class="sref">cp36a        6sref">result3/a> = 3a hr6f="+c66e=false" class="sref"lass="sr
.c#Lruct tomoyo_execve&quo/* Restore di  >
=di  >
idity/tomoyo/condi  >
.c#L223" id>
L223" class="li6class="li6e" namn>
L168">.1683/a> 6     673/a> + 3a href="+codeeeeeeeeeeeeeeeeeL160" class="linoosoyo/condi  >
.coosa hr    .1623/a>                 =             if (3a href="+code=cp" class="sref">cp36>
.c#L1696 id>
L169" class="line" 6amn>
6769">.1693/a>                 (&flag"line" namn>
L1flaga hr   >160" class="linflag"line" namn>
L1flaga hr if (3a href="+code=cp" class="sref">cp36>".36                        6   } 67argv[] are not matche ;316rns true 6013/ade=is_not" class="sr6cptr3/a>,6                        6    367href="+code=e ;316rns true 6013/ade=is_not" class="sr6di  >
.c#6172" id>
L172" class="li6e" na67defined or nogo;.3160" class="linreruLne" namn>
L229"reruLa hr if (3a href="+code=cp" class="sref">cp36>amn>
L166 >
.c#L173" id>
L173" cl6ss="l67     160" class="lin"li"line" namn>
L1"li    a>                        break; 
L174">.1743/a>        6     67f="+code=tomo=is_not" class=dp   tkode=i" class="sdp   tkpa
 (=is_not" class=KERN_WARNINGode=i" class="sKERN_WARNINGpa
  <"security/tomoyo/condi  >
%u: %s failed\ndi  >
3/a>++]l; 127) { 
L175">.1753/a>6     67href="+code=ie" n160" class="lin183"y"line" namn>
L1963"ya hra namn>
L197">.1973/a>                for 6dity/tomo6 class="line" namn>
L1766>.17667 >
.c#L207" id>
L207"               >.2293/del/" namn>
Lne" namn>
L229">.2293/del/" namn>
Lpa
 (&spa
 class="comme83"y"line" namn>
L1963"ya hrs="line" namn>
L233"headne" namn>
L229"headref=_from_path3/a>(&listne" namn>
L229"list3/a>)p;316rns true 6013/ade=is_not" class="sr6l        6a href="+code=offset" cl6ss="s67e=false" class="sref"               kfre1"line" namn>
L1kfre1pa
 (=is_not" class=183"y"line" namn>
L1963"ya hrap;316rns true 6013/ade=is_not" class="sr6ss="line"6namn>
L178">.1783/a>    6     683/a> + 3a hre ;316rns true 6013/ade=is_not" class="sr6s
.c#L1696="security/tomoyo/condi 6>
.c#6869">.160" class="lin"li2"line" namn>
L1"li23/a>a>                        break; 
.c#L180"6id>
L68argv[] are no               >.2293/put/na
L229">.2293/put/na
L19ref=_from_path3/a>(&transique" namn>
L229">ransiqa hrap;316rns true 6013/ade=is_not" class="sr6sptr3/a>,6>
L181">.1813/a>3a href=6+code68href="+code=ereturn                NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr6si  >
.c#6        if (3a href="+co6e=res68defin ;316rns true 6013/ade=is_not" class="sr6samn>
L1663a href="+code=i" class=6sref"68     ;316rns true 6013/ade=is_not" class="sr6s+] = (3a6
L185">.1853/a>         6     68f="+cruct tomoyo_execve&quo/**y/tomoyo/condi  >
.c#L223" id>
L223" class="li6sondi  >
6) { 
L21in   di  >
iy/tomoyo/condi  >
.c#L223" id>
L223" class="li6sity/tomo6code=checked" class="sre6">che68ed3/aruct tomoyo_execve&quo *y/tomoyo/condi  >
.c#L223" id>
L223" class="li6s        6" namn>
L187">.1873/a>  6     68e=falruct tomoyo_execve&quo * @obj: Po  ter >. di  >
f">
L21>.2293/obj_infodi  >
iy/tomoyo/condi  >
.c#L223" id>
L223" class="li6a
 class=6comment">/*3/spa
  
L223" class="li6a
.c#L1696ll unchecked indexes in36spa
 6969">.ruct tomoyo_execve&quo * Returns notho/ciy/tomoyo/condi  >
.c#L223" id>
L223" class="li6a        6                     * b6rm-&g69argv[ruct tomoyo_execve&quo *ty/tomoyo/condi  >
.c#L223" id>
L223" class="li6aptr3/a>,6L192" id>
L192" class="l6ne" n69href=voido               >.2293/get_atoyobutesne" namn>
L229">.2293/get_atoyobutespa
 (f">
L21               >.2293/obj_infone" namn>
L229">.2293/obj_infoa hr *160" class="lin"bj"line" namn>
L1"bja hra;316rns true 6013/ade=is_not" class="sr6>[3a href6"+code=i" class="sref">i6/a>].69definnamn>
L197">.1973/a>                for 6aamn>
L166 
L1u8pa
  (&i"line" namn>
L1iref=p;316rns true 6013/ade=is_not" class="sr6a+] = (3a6f="+code=result" class="6ref">69f="+code=tomof">
L21               d183"y"line" namn>
L1d963"ya hr *160" class="lind183"y"line" namn>
L1d963"ya hr                  NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr6aondi  >
6ty/tomoyo/condi  >
.c#L165" id69href=;316rns true 6013/ade=is_not" class="sr6aity/tomo6code=i" class="sref">i3/6> = 069ed3/a>[3a hrefor n160" class="lini"line" namn>
L1iref=   0p"160" class="lini"line" namn>
L1iref= &l>
sfrom_path3/a>(&ecurityMAX_PATH_STAT"line" namn>
L1ecurityMAX_PATH_STATref=p"160" class="lini"line" namn>
L1iref=++a namn>
L197">.1973/a>                for 6a" class=6" id>
L198" class="line"6namn>69e=false" class="sref"f">
L21               in   "line" namn>
L1in   a hr *160" class="linin   "line" namn>
L1in   a hrp;316rns true 6013/ade=is_not" class="sr7/a>[3a hr7f="+code=argc" class="sr7f">ar703/a> + 3a href="+codeswitch n160" class="lini"line" namn>
L1iref=a namn>
L197">.1973/a>                for 7lass="lin7" namn>
L199">.1993/a>  7     7069">.1693/a>         cac#Lrrom_path3/a>(&ecurityPATH1"line" namn>
L1ecurityPATH13/a>a>                        break; /*3/spa
  
L1d963"ya hr                  "bj"line" namn>
L1"bja hrs="line" namn>
L233"path1"line" namn>
L1path1ref=_from_path3/a>(&d183"y"line" namn>
L1d963"ya hrp;316rns true 6013/ade=is_not" class="sr7/3"commen7"192" id>
L192" class="l7/tomo70href="+code=envp_counnnnnnnnne" n>160" class="lind183"y"line" namn>
L1d963"ya hra;316rns true 6013/ade=is_not" class="sr7s4"commen7"+code=i" class="sref">i7ther 70defined or not matcheeeeeeeeecodeeeeecretinuep;316rns true 6013/ade=is_not" class="sr7s5"commen7"
L173">.1733/a>      breakp;316rns true 6013/ade=is_not" class="sr7s6"commen7"="+code=result" class="7p" cl70f="+code=tomoyo_scan_cac#Lrrom_path3/a>(&ecurityPATH2"line" namn>
L1ecurityPATH23/a>a>                        break; 
.c#L17>370href="+code=is_not" c        160" class="lind183"y"line" namn>
L1d963"ya hr                  "bj"line" namn>
L1"bja hrs="line" namn>
L233"path2"line" namn>
L1path2ref=_from_path3/a>(&d183"y"line" namn>
L1d963"ya hrp;316rns true 6013/ade=is_not" class="sr7/8"commen7"ode=i" class="sref">i3/7/cond70 >
.c#L207" id>
L207"nnnnnnnne" n>160" class="lind183"y"line" namn>
L1d963"ya hra;316rns true 6013/ade=is_not" class="sr7s9"commen7" id>
L198" class="line"7ref">70e=false" class="sref"eeeeeeeecodeeeeecretinuep;316rns true 6013/ade=is_not" class="sr7ef="secur7ty/tomoyo/condi  >
.c#L278" id713/a> + 3a href="+codea>      breakp;316rns true 6013/ade=is_not" class="sr7eass="lin7reak; .1693/a>         defaulta>                        break; 160" class="lind183"y"line" namn>
L1d963"ya hra;316rns true 6013/ade=is_not" class="sr7ocal_chec7ed3/a>) 
L207"codeeeeecretinuep;316rns true 6013/ade=is_not" class="sr7e4"commen7n3/a>(3a href="+code=che7ked" 71defined or not matchef="+code160" class="lind183"y"line" namn>
L1d963"ya hr                  dget_pare&que" namn>
L229"dget_pare&qpa
 (=is_not" class=d183"y"line" namn>
L1d963"ya hrap;316rns true 6013/ade=is_not" class="sr7e5"commen7 >
.c#L213" id>
L213" cl7ss="l71e" namn>
L173">.1733/a>      breakp;316rns true 6013/ade=is_not" class="sr7e6"commen7sult" class="sref">resul73/a>;71ity/tomoyo/condi  >
. ;316rns true 6013/ade=is_not" class="sr7 +code=en7
L1in   a hr                  d183"y"line" namn>
L1d963"ya hr   3spa
 class="comme_in   "line" namn>
L1e_in   a hrp;316rns true 6013/ade=is_not" class="sr7econtinue7yo/condi  >
.c#L217" id>7L217"71 >
.c#L207" id>
L207"e" n160" class="linin   "line" namn>
L1in   a hra namn>
L197">.1973/a>                for 7alpath - 7heck "exec.realpath7quot;71e=false" class="sref"""""""""f">
L21               >.2293/mini_staque" namn>
L229">.2293/mini_staqa hr *160" class="linstaque" namn>
L229"staqa hr = &spa
 class="comm"bj"line" namn>
L1"bja hrs="line" namn>
L233"staque" namn>
L229"staqa hr[160" class="lini"line" namn>
L1iref=]p;316rns true 6013/ade=is_not" class="sr7" namn>
L718">.2183/a>3spa
 class=7comme723/a> + 3a href="+codeeeeeeeeene" namn>
L233"staque" namn>
L229"staqa hrs="line" namn>
L233"uidne" namn>
L229"uid/a> +   
L1in   a hrs="line" namn>
L233"i_uidne" namn>
L229"i_uida hrp;316rns true 6013/ade=is_not" class="sr7"ass="lin7quot;struct filn".37spa
 7269">.1693/a>         eeeeeeeene" namn>
L233"staque" namn>
L229"staqa hrs="line" namn>
L233"gidne" namn>
L229"gid/a> +   
L1in   a hrs="line" namn>
L233"i_gidne" namn>
L229"i_gida hrp;316rns true 6013/ade=is_not" class="sr7" } 
L229"staqa hrs="line" namn>
L233"in "line" namn>
L1in /a> +   
L1in   a hrs="line" namn>
L233"i_in "line" namn>
L1i_in /a> p;316rns true 6013/ade=is_not" class="sr7"cal_chec7match: True if "exe7.real72href="+code=envp_coun        160" class="linstaque" namn>
L229"staqa hrs="line" namn>
L233"m   "line" namn>
L1m   a hr                  in   "line" namn>
L1in   a hrs="line" namn>
L233"i_m   "line" namn>
L1i_m   /a> p;316rns true 6013/ade=is_not" class="sr7"4"commen7L222">.2223/a>3spa
 clas7="com72defined or not matcheeeeeeeee=is_not" class=staque" namn>
L229"staqa hrs="line" namn>
L233"devne" namn>
L229"dev/a> +   
L1in   a hrs="line" namn>
L233"i_sb"line" namn>
L1i_sba hrs="line" namn>
L233"s_devne" namn>
L229"s_dev/a> p;316rns true 6013/ade=is_not" class="sr7"5"commen7223">.2233/a>3spa
 class7"comm72e" namn>
L173">.1733/t matche=is_not" class=staque" namn>
L229"staqa hrs="line" namn>
L233"rdevne" namn>
L229"rdev/a> +  
L1in   a hrs="line" namn>
L233"i_rdevne" namn>
L229"i_rdev/a> p;316rns true 6013/ade=is_not" class="sr7"6"commen7ol" class="sref">bool3/a7 3a h7ef="+code=tomoyo_scan_eeeeeeeepa
 class="comm"bj"line" namn>
L1"bja hrs="line" namn>
L233"staq_validue" namn>
L229"staq_valida hr[160" class="lini"line" namn>
L1iref=]                  >rass="sref">envp3/>ras/a> p;316rns true 6013/ade=is_not" class="sr7"+code=en7id>
L226" class="line" n7mn>
L72href="+code=is_not" c ;316rns true 6013/ade=is_not" class="sr7"continue7rity/tomoyo/condi  >
.c#7227" 72 >
.c#L207" id>
L207"e" n160" class="lini"line" namn>
L1iref= &s 1) ruct tomoyo_execve&quo/* i    ecurityPATH1yPARENT ||y/tomoyo/condi  >
.c#L223" id>
L223" class="li7
lpath - 7                       c7nst 372e=falruct tomoyo_execve&quo                              i    ecurityPATH2yPARENT *ty/tomoyo/condi  >
.c#L223" id>
L223" class="li7s="line" 7amn>
L228">.2283/a>{ 
L1dplipa
 (=is_not" class=d183"y"line" namn>
L1d963"ya hrap;316rns true 6013/ade=is_not" class="sr7sass="lin7ref="security/tomoyo/con7i  >
7369">.1693/a>  ;316rns true 6013/ade=is_not" class="sr7s }  3a 7ref="73argv[ ;316rns true 6013/ade=is_not" class="sr7scal_chec7  if (!3a href="+code=fi7n" cl73href=;316rns true 6013/ade=is_not" class="sr7s4"commen7s="sref">namn3/a> = 3a h7ef="+73definruct tomoyo_execve&quo/**y/tomoyo/condi  >
.c#L223" id>
L223" class="li7path" cla7s="sref">f_path3/a>); .2293/23" class - Check 23" class partiy/tomoyo/condi  >
.c#L223" id>
L223" class="li7    f">i37a>]) i3/a77urit73f="+cruct tomoyo_execve&quo *y/tomoyo/condi  >
.c#L223" id>
L223" class="li7s+code=en7ent"> =f">toef="+code=re7ult" 73href=ruct tomoyo_execve&quo * @r:/a> Po  ter >. di  >
f">
L21>.2293/request_infodi  >
iy/tomoyo/condi  >
.c#L223" id>
L223" class="li7scontinue7 namn>
L137">.1373/a>   7     73ed3/aruct tomoyo_execve&quo * @23" : Po  ter >. di  >
f">
L21>.2293/23" classdi  >
idMaybe NULLiy/tomoyo/condi  >
.c#L223" id>
L223" class="li7slpath - 7ine" namn>
L138">.1383/a7     73e=falruct tomoyo_execve&quo *y/tomoyo/condi  >
.c#L223" id>
L223" class="li7href="+co7e=arg_len" class="sref">7rg_le743/a> ruct tomoyo_execve&quo * Returns >ras ss success, fals1 otherwiseiy/tomoyo/condi  >
.c#L223" id>
L223" class="li7h/a>; 
L140">.1403/a>   7     7469">.ruct tomoyo_execve&quo *y/tomoyo/condi  >
.c#L223" id>
L223" class="li7h } 
L223" class="li7hcal_chec7o/condi  >
.c#L142" id>
7142" 74href=ruct tomoyo_execve&quo *ty/tomoyo/condi  >
.c#L223" id>
L223" class="li7ramn" cla7 >
.c#L143" id>
L143" cl7ss="l74defin=is_not" class=boolenvp" class="srboolpa
  (&>.2293/23" classue" namn>
L229">.2293/" namn>
Lpa
 (f">
L21               >.2293/request_infoue" namn>
L229">.2293/request_infoa hr *160" class="linrne" namn>
L229"ra hrl;316rns true 6013/ade=is_not" class="sr7rath" cla7             3a href="+c7de=ar74                  if       ot"st"f">
L21               >.2293/23" classue" namn>
L229">.2293/" namn>
Lpa
  *160" class="lin" naue" namn>
L229"" naa hra;316rns true 6013/ade=is_not" class="sr7r   f">i37href="+code=c" class="sr7f">c374ity/tnamn>
L197">.1973/a>                for 7r+code=en7
.c#L145" id>
L145" clas7="lin74href="+code=ifrom_path3/a>(&u32"line" namn>
L1u3argv[](&i"line" namn>
L1iref=p;316rns true 6013/ade=is_not" class="sr7rcontinue7ass="line" namn>
L147">.7473/a74 >
.c#L207" iunsigned long](&min_vne" namn>
L229"min_va hr[2]   { 0, 0 }p;316rns true 6013/ade=is_not" class="sr7rlpath - 73a href="+code=arg_len" 7lass=74e=false" clasunsigned long](&max_vne" namn>
L229"max_va hr[2]   { 0, 0 }p;316rns true 6013/ade=is_not" class="sr7148" clas7="line" namn>
L148">.1487/a>  753/a> + 3a hreot"st"f">
L21               >.2293/23" class_eleve&que" namn>
L229">.2293/" namn>
L_eleve&qa hr *160" class="lin" na" namn>
L160">.16 na"a hrp;316rns true 6013/ade=is_not" class="sr71/a>; .1493/a>            7     7569">.1693/a> ot"st"f">
L21               >.2293/number_un>
Lne" namn>
L229">.2293/number_un>
Lpa
  *               numbers_" namn>
L160">.1numbers_"a hrp;316rns true 6013/ade=is_not" class="sr71 } .1503/a>            7     75argv[] are noot"st"f">
L21               >.2293/na
Lne" namn>
L229">.2293/na
Lpa
  *               nales_" namn>
L160">.1nales_"a hrp;316rns true 6013/ade=is_not" class="sr71cal_chec7ass="comment">/* Check. 7/3/sp75href="+code=eot"st"f">
L21               >.2293/argvne" namn>
L229">.2293/ rgva hr *                rgvne" namn>
L229" rgva hrp;316rns true 6013/ade=is_not" class="sr71amn" cla7!3a href="+code=tomoyo_a7gv" c75defined or noot"st"f">
L21               >.2293/"sref">is_not3/a>) o/condi|| is_not3/a>) || 
L154">.1543/a>     7     75             f">
L21               >.2293/obj_infone" namn>
L229">.2293/obj_infoa hr *160" class="lin"bj"line" namn>
L1"bja hrp;316rns true 6013/ade=is_not" class="sr71   f">i37="sref">argv3/a>, 
L1u1ity/to160" class="lin" na=envp" class="srot" =3/a>p;316rns true 6013/ade=is_not" class="sr71+code=en7ty/tomoyo/condi  >
.c#L176" id75href="+code=ifrom_path3/a>(&usult" classmn>
L1u1ity/to160" class="lin rg=envp" class="srerg=3/a>p;316rns true 6013/ade=is_not" class="sr71continue7 class="sref">result3/a>7= 3a 75 >
.c#L207" ifrom_path3/a>(&usult" classmn>
L1u1ity/to160" class="lin|| =envp" class="sr|| =3/a>p;316rns true 6013/ade=is_not" class="sr71lpath - 7L157" class="line" namn>7L157"75e=false" clasf">
L21               ="lux_binpr1ne" namn>
L229"="lux_binpr1a hr *160" class="linbpr1ne" namn>
L229"bpr1a hr                  NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr7583/a>   7                        7   } 763/a> + 3a hree" n>               c naue" namn>
L229"" naa hra;316rns true 6013/ade=is_not" class="sr75/a>; argv_count3/a>-7; .1693/a>         return                >rass="sref">envp3/>ras/a> p;316rns true 6013/ade=is_not" class="sr75".37                    char7*3a h76argv[] are no               " na=envp" class="srot" =3/a>                  c naue" namn>
L229"" naa hrs="line" namn>
L233"" na=envp" class="srot" =3/a>p;316rns true 6013/ade=is_not" class="sr7_ptr3/a>,73spa
 class="string">%=Ÿhref="+code=e160" class="lin rg=envp" class="srerg=3/a>                  c naue" namn>
L229"" naa hrs="line" namn>
L233" rg=envp" class="srerg=3/a>p;316rns true 6013/ade=is_not" class="sr7a>) { 
L229"" naa hrs="line" namn>
L233"|| =envp" class="sr|| =3/a>p;316rns true 6013/ade=is_not" class="sr7namn>
L167">.1643/a>              7     76             160" class="lin"bj"line" namn>
L1"bja hr                  rne" namn>
L229"ra hrs="line" namn>
L233""bj"line" namn>
L1"bja hrp;316rns true 6013/ade=is_not" class="sr7n+] = (3a7condi  >
.c#L165" id>
L175" cl76f="+code=tomoe" namn>
L180">.1801ne" namn>
L229"ra hrs="line" namn>
L233"e1"line" namn>
L1e1pa
 a;316rns true 6013/ade=is_not" class="sr75+code=en7c#L166" id>
L166" class=7line"76href="+code=is_not" c160" class="linbpr1ne" namn>
L229"bpr1a hr                  1ne" namn>
L229"ra hrs="line" namn>
L233"e1"line" namn>
L1e1pa
 s="line" namn>
L233"bpr1ne" namn>
L229"bpr1a hrp;316rns true 6013/ade=is_not" class="sr7ncontinue7o/condi  >
.c#L167" id>
7167" 76 >
.c#L207" ie" n>               bpr1ne" namn>
L229"bpr1a hr &s&s n160" class="lin rg=envp" class="srerg=3/a> ||"160" class="lin1| =envp" class="sr|| =3/a>aa;316rns true 6013/ade=is_not" class="sr75lpath - 7sref">result3/a> = 3a hr7f="+c76e=false" class="sref"return                fals1"line" namn>
L1fals1ref=p;316rns true 6013/ade=is_not" class="sr7class="li7e" namn>
L168">.1683/a> 7     773/a> + 3a hre160" class="lin" na" namn>
L160">.16 na"a hr   nf">
L21               >.2293/" namn>
L_eleve&que" namn>
L229">.2293/" namn>
L_eleve&qa hr *) n160" class="linc naue" namn>
L229"" naa hr + 1)p;316rns true 6013/ade=is_not" class="sr7>
.c#L1697 id>
L169" class="line" 7amn>
7769">.1693/a>                numbers_" namn>
L160">.1numbers_"a hr   not"st"f">
L21               >.2293/number_un>
Lne" namn>
L229">.2293/number_un>
Lpa
  *) n160" class="linc na" namn>
L160">.16 na"a hr +                " na=envp" class="srot" =3/a>)p;316rns true 6013/ade=is_not" class="sr7>".37                        7   } 77argv[] are no               nales_" namn>
L160">.1nales_"a hr   not"st"f">
L21               >.2293/na
Lne" namn>
L229">.2293/na
Lpa
  *a;316rns true 6013/ade=is_not" class="sr7cptr3/a>,7                        7    377href="+code=envp_counn160" class="linnumbers_" namn>
L160">.1numbers_"a hr +                c naue" namn>
L229"" naa hrs="line" namn>
L233"numbers_couasse" namn>
L229"numbers_couas3/a>)p;316rns true 6013/ade=is_not" class="sr7di  >
.c#7172" id>
L172" class="li7e" na77defined or no160" class="lin rgvne" namn>
L229" rgva hr   not"st"f">
L21               >.2293/argvne" namn>
L229">.2293/ rgva hr *) n160" class="linnales_" namn>
L160">.1nales_"a hr +                c naue" namn>
L229"" naa hrs="line" namn>
L233"nales_couasse" namn>
L229"nales_couas3/a>)p;316rns true 6013/ade=is_not" class="sr7>amn>
L167 >
.c#L173" id>
L173" cl7ss="l77             160" class="lin|| ef">is_not3/a>) || 
L21               >.2293/"sref">is_not3/a>) o/condi|| 
L229" rgva hr +                 rg=envp" class="srerg=3/a>)p;316rns true 6013/ade=is_not" class="sr7d+] = (3a7>
L174">.1743/a>        7     77f="+code=tomofor n160" class="lini"line" namn>
L1iref=   0p"160" class="lini"line" namn>
L1iref= &l>
sfrom_path3/a>(&" na=envp" class="srot" =3/a>p"160" class="lini"line" namn>
L1iref=++a namn>
L197">.1973/a>                for 7londi  >
7ne" namn>
L175">.1753/a>7     77href="+code=is_not" cot"st"=is_not" class=boolenvp" class="srboolpa
  (&matchne" namn>
L229"match3/a>                  c na" namn>
L160">.16 na"a hr   3spa
 class="commequalsoyo/condi  >
.cequalsfilnp;316rns true 6013/ade=is_not" class="sr7dcontinue7 class="line" namn>
L1767>.17677 >
.c#L207" id>
L207"ot"st"=is_not" class=u8"line" namn>
L1u8pa
  (&leftne" namn>
L229"lefta hr                  c na" namn>
L160">.16 na"a hr   3spa
 class="commleftne" namn>
L229"lefta hrp;316rns true 6013/ade=is_not" class="sr7l        7a href="+code=offset" cl7ss="s77e=false" class="sref"ot"st"=is_not" class=u8"line" namn>
L1u8pa
  (&right namn>
L212">.21ightfiln                  c na" namn>
L160">.16 na"a hr   3spa
 class="commright namn>
L212">.21ightfilnp;316rns true 6013/ade=is_not" class="sr7ss="line"7namn>
L178">.1783/a>    7     783/a> + 3a href="+code=is_not" class=boolenvp" class="srboolpa
  (&is_bito" namn>
L160">.1is_bito"a hr[2]   {                fals1"line" namn>
L1fals1ref=l; 127) { 
L1fals1ref= }p;316rns true 6013/ade=is_not" class="sr7s
.c#L1697="security/tomoyo/condi 7>
.c#7869">.1693/a>         from_path3/a>(&u8"line" namn>
L1u8pa
  (&j"line" namn>
L1ja hrp;316rns true 6013/ade=is_not" class="sr7s        7tomoyo/condi  >
.c#L180"7id>
L78argv[] are not matche               c na" namn>
L160">.16 na"a hr++p;316rns true 6013/ade=is_not" class="sr7sptr3/a>,7>
L181">.1813/a>3a href=7+code78href="+code=envp_counruct tomoyo_execve&quo/* Check  rgv[] and || <[] lateridity/tomoyo/condi  >
.c#L223" id>
L223" class="li7si  >
.c#7        if (3a href="+co7e=res78defined or not matchee" namn>
L180">.180leftne" namn>
L229"lefta hr                   ecurityARGV_ENTRYne" namn>
L229"ecurityARGV_ENTRY3/a> ||"160" class="linleftne" namn>
L229"lefta hr                   ecurityENVP_ENTRYne" namn>
L229"ecurityENVP_ENTRYpa
 a;316rns true 6013/ade=is_not" class="sr7samn>
L1673a href="+code=i" class=7sref"78e" namn>
L173">.1733/t matchecretinuep;316rns true 6013/ade=is_not" class="sr7s+] = (3a7
L185">.1853/a>         7     78f="+code=tomoyo_scan_ruct tomoyo_execve&quo/* Check moyo/c expressasssidity/tomoyo/condi  >
.c#L223" id>
L223" class="li7sondi  >
7) { 
L180">.1801ight namn>
L212">.21ightfiln                   ecurityNAME_UNION"line" namn>
L1ecurityNAME_UNIONpa
 a namn>
L197">.1973/a>                for 7sity/tomo7code=checked" class="sre7">che78 >
.c#L207" id>
L207"nnnnnnnnot"st"f">
L21               >.2293/na
Lne" namn>
L229">.2293/na
Lpa
  *               pt1ne" namn>
L229"pt1filn                  nales_" namn>
L160">.1nales_"a hr++p;316rns true 6013/ade=is_not" class="sr7s        7" namn>
L187">.1873/a>  7     78e=false" class="sref"""""""""fwitch n160" class="linleftne" namn>
L229"lefta hra namn>
L197">.1973/a>                for 7a
 class=7comment">/*3/spa
  
L21               >.2293/path_infone" namn>
L229">.2293/path_infopa
  *               sym3/skode=i" class="ssym3/ska hrp;316rns true 6013/ade=is_not" class="sr7a
.c#L1697ll unchecked indexes in37spa
 7969">.1693/a>         eeeeeeeeeeeeeeeef">
L21               >.2293/execvss="sref">envp3/>.2293/execvspa
  *               e1"line" namn>
L1e1pa
 p;316rns true 6013/ade=is_not" class="sr7a        7                     * b7rm-&g79argv[] are not matche        eeeeeeeef">
L21               fil1"line" namn>
L1fil1pa
  *               fil1"line" namn>
L1fil1pa
 p;316rns true 6013/ade=is_not" class="sr7aptr3/a>,7L192" id>
L192" class="l7ne" n79href="+code=envp_coun        cac#Lrrom_path3/a>(&ecuritySYMLINK_TARGET"line" namn>
L1ecuritySYMLINK_TARGETref=a>                        break; [3a href7"+code=i" class="sref">i7/a>].79defined or not matcheeeeeeeeecodeeeee               sym3/skode=i" class="ssym3/ska hr                  "bj"line" namn>
L1"bja hr ?epa
 class="comm"bj"line" namn>
L1"bja hrs="line" namn>
L233"sym3/sk_t rgeque" namn>
L229"sym3/sk_t rgeqa hr :                NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr7aamn>
L167 
L173">.1733/t matcheeeeeeeeee" n>               sym3/skode=i" class="ssym3/ska hr ||amn>
L197">.1973/a>                for 7a+] = (3a7f="+code=result" class="7ref">79f="+code=tomoyo_scan_exec_reaaaaaaaaaaaaa>               >.2293/" mpare/na
Lne" namn>
L229">.2293/" mpare/na
L="+cn160" class="linsym3/skode=i" class="ssym3/ska hrl; 127) { 
L229"pt1filna;316rns true 6013/ade=is_not" class="sr7aondi  >
7ty/tomoyo/condi  >
.c#L175" id79href="+code=is_not" c                                      matchne" namn>
L229"match3/a>a;316rns true 6013/ade=is_not" class="sr7aity/tomo7code=i" class="sref">i3/7> = 079 >
.c#L207" id>
L207" class="eeeeeeeeeeeeeeeego;.3160" class="lin"li"line" namn>
L1"utfilnp;316rns true 6013/ade=is_not" class="sr7a" class=7" id>
L198" class="line"7namn>79e=false" class="sref"""""""""""""""""breakp;316rns true 6013/ade=is_not" class="sr8/a>[3a hr8f="+code=argc" class="sr8f">ar803/a> + 3a href="+codeeeeeeeeecac#Lrrom_path3/a>(&ecurityEXEC_REALPATHne" namn>
L229"ecurityEXEC_REALPATHref=a>                        break; 
L199">.1993/a>  8     8069">.1693/a>                                        e1"line" namn>
L1e1pa
                   1ne" namn>
L229"ra hrs="line" namn>
L233"e1"line" namn>
L1e1pa
 p;316rns true 6013/ade=is_not" class="sr8/2ss="lin8"                    * b8rity/80argv[] are not matche                               fil1"line" namn>
L1fil1pa
                   11"line" namn>
L1e1pa
  ?epa
 class="comme1"line" namn>
L1e1pa
 s="line" namn>
L233"bpr1ne" namn>
L229"bpr1a hrs="line" namn>
L233"fil1"line" namn>
L1fil1pa
  :                NULLue" namn>
L229"NULLref=p;316rns true 6013/ade=is_not" class="sr8/3"commen8"192" id>
L192" class="l8/tomo80href="+code=envp_counnnnnnnnnnnnnnnnne" n>               >.2293/scan/exec/realpathne" namn>
L229">.2293/scan/exec/realpath="+cn160" class="linfil1"line" namn>
L1fil1pa
 l; 127) { 
L229"pt1filnl;316rns true 6013/ade=is_not" class="sr8s4"commen8"+code=i" class="sref">i8ther 80defined or not matcheeeeeeeeecodeeeee are not matche                               matchne" namn>
L229"match3/a>aa;316rns true 6013/ade=is_not" class="sr8s5"commen8"
L173">.1733/a>                      go;.3160" class="lin"li"line" namn>
L1"utfilnp;316rns true 6013/ade=is_not" class="sr8s6"commen8"="+code=result" class="8p" cl80f="+code=tomoyo_scan_________________breakp;316rns true 6013/ade=is_not" class="sr8/7"commen8"y/tomoyo/condi  >
.c#L18>380href="+code=is_not" c         ;316rns true 6013/ade=is_not" class="sr8/8"commen8"ode=i" class="sref">i3/8/cond80 >
.c#L207" id>
L207"nnnnnnnncretinuep;316rns true 6013/ade=is_not" class="sr8s9"commen8" id>
L198" class="line"8ref">80e=false" class="sref" ;316rns true 6013/ade=is_not" class="sr8ef="secur8ty/tomoyo/condi  >
.c#L288" id813/a> + 3a href="+coderuct tomoyo_execve&quo/* Check numeric or bit-op expressasssidity/tomoyo/condi  >
.c#L223" id>
L223" class="li8eass="lin8reak; .1693/a>         for n160" class="linj"line" namn>
L1ja hr   0p"160" class="linj"line" namn>
L1ja hr &l>
s2p"160" class="linj"line" namn>
L1ja hr++a namn>
L197">.1973/a>                for 8  } 
L1u8pa
  (&index namn>
L160">.1indexpa
                   j"line" namn>
L1ja hr ?epa
 class="comm1ight namn>
L212">.21ightfiln :                leftne" namn>
L229"lefta hrp;316rns true 6013/ade=is_not" class="sr8ocal_chec8ed3/a>) 
L207"unsigned long](&valass="sref">envp3/valasa hr   0p;316rns true 6013/ade=is_not" class="sr8o4"commen8n3/a>(3a href="+code=che8ked" 81defined or not matchef="+codeswitch n160" class="linindex namn>
L160">.1indexpa
 a namn>
L197">.1973/a>                for 8 5"commen8 >
.c#L213" id>
L213" cl8ss="l81e" namn>
L173">.1733/a>      cac#Lrrom_path3/a>(&ecurityTASK_UIDne" namn>
L229"ecurityTASK_UIDref=a>                        break; resul83/a>;81ity/tomoyo/condi  >
.................(&valass="sref">envp3/valasa hr   160" class="linfrom_kuidne" namn>
L229"from_kuid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_uid="+cn))p;316rns true 6013/ade=is_not" class="sr8 +code=en88L217"81 >
.c#L207" id>
L207"a>      cac#Lrrom_path3/a>(&ecurityTASK_EUIDne" namn>
L229"ecurityTASK_EUIDref=a>                        break; (&valass="sref">envp3/valasa hr   160" class="linfrom_kuidne" namn>
L229"from_kuid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_euid="+cn))p;316rns true 6013/ade=is_not" class="sr8" namn>
L818">.2183/a>3spa
 class=8comme823/a> + 3a href="+codeeeeeeeeeccccccccbreakp;316rns true 6013/ade=is_not" class="sr8"ass="lin8quot;struct filn".38spa
 8269">.1693/a>         eeeeeeeecac#Lrrom_path3/a>(&ecurityTASK_SUIDne" namn>
L229"ecurityTASK_SUIDref=a>                        break; envp3/valasa hr   160" class="linfrom_kuidne" namn>
L229"from_kuid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_suid="+cn))p;316rns true 6013/ade=is_not" class="sr8"cal_chec8match: True if "exe8.real82href="+code=envp_coun        ccccccccbreakp;316rns true 6013/ade=is_not" class="sr8"4"commen8L222">.2223/a>3spa
 clas8="com82defined or not matcheeeeeeeeecac#Lrrom_path3/a>(&ecurityTASK_FSUIDne" namn>
L229"ecurityTASK_FSUIDref=a>                        break; .2233/a>3spa
 class8"comm82e" namn>
L173">.1733/t matche........(&valass="sref">envp3/valasa hr   160" class="linfrom_kuidne" namn>
L229"from_kuid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_fsuid="+cn))p;316rns true 6013/ade=is_not" class="sr8"6"commen8ol" class="sref">bool3/a8 3a h8ef="+code=tomoyo_scan_eeeeeeeeccccccccbreakp;316rns true 6013/ade=is_not" class="sr8"+code=en8id>
L226" class="line" n8mn>
L82href="+code=is_not" ceeeeeeeecac#Lrrom_path3/a>(&ecurityTASK_GIDne" namn>
L229"ecurityTASK_GIDref=a>                        break; 
.c#8227" 82 >
.c#L207" id>
L207"t matche........(&valass="sref">envp3/valasa hr   160" class="linfrom_kgidne" namn>
L229"from_kgid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_gid="+cn))p;316rns true 6013/ade=is_not" class="sr8"9"commen8                       c8nst 382e=false" class="sref"""""""""""""""""breakp;316rns true 6013/ade=is_not" class="sr8s="line" 8amn>
L228">.2283/a>{ (&ecurityTASK_EGIDne" namn>
L229"ecurityTASK_EGIDref=a>                        break; 
8369">.1693/a>                                        valass="sref">envp3/valasa hr   160" class="linfrom_kgidne" namn>
L229"from_kgid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_egid="+cn))p;316rns true 6013/ade=is_not" class="sr8s }  3a 8ref="83argv[] are not matche        ........breakp;316rns true 6013/ade=is_not" class="sr8scal_chec8  if (!3a href="+code=fi8n" cl83href="+code=envp_coun        cac#Lrrom_path3/a>(&ecurityTASK_SGIDne" namn>
L229"ecurityTASK_SGIDref=a>                        break; namn3/a> = 3a h8ef="+83defined or not matcheeeeeeeeecodeeeee               valass="sref">envp3/valasa hr   160" class="linfrom_kgidne" namn>
L229"from_kgid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_sgid="+cn))p;316rns true 6013/ade=is_not" class="sr8s5"commen8s="sref">f_path3/a>); 
L173">.1733/t matche........breakp;316rns true 6013/ade=is_not" class="sr8s6"commen8a>]) i3/a87urit83f="+code=tomoyo_scan_eeeeeeeecac#Lrrom_path3/a>(&ecurityTASK_FSGIDne" namn>
L229"ecurityTASK_FSGIDref=a>                        break;  =f">toef="+code=re8ult" 83href="+code=is_not" ccccccccccccccccc               valass="sref">envp3/valasa hr   160" class="linfrom_kgidne" namn>
L229"from_kgid="+cn&spa
 class="comminit_user_nsoyo/condi  >
.cinit_user_nspa
 l; 127) { 
L229"   re&q_fsgid="+cn))p;316rns true 6013/ade=is_not" class="sr8scontinue8 namn>
L137">.1373/a>   8     83 >
.c#L207" id>
L207"t matche........breakp;316rns true 6013/ade=is_not" class="sr8s9"commen8ine" namn>
L138">.1383/a8     83e=false" class="sref"""""""""cac#Lrrom_path3/a>(&ecurityTASK_PIDne" namn>
L229"ecurityTASK_PIDref=a>                        break; 8rg_le843/a> + 3a href="+codeeeeeeeeecccccccc               valass="sref">envp3/valasa hr   160" class="lin>.2293/sys/getpidne" namn>
L229">.2293/sys/getpid="+cn)p;316rns true 6013/ade=is_not" class="sr8h/a>; 
L140">.1403/a>   8     8469">.1693/a>                         breakp;316rns true 6013/ade=is_not" class="sr8h } (&ecurityTASK_PPIDne" namn>
L229"ecurityTASK_PPIDref=a>                        break; 
.c#L142" id>
8142" 84href="+code=envp_coun        cccccccc               valass="sref">envp3/valasa hr   160" class="lin>.2293/sys/getppidne" namn>
L229">.2293/sys/getppid="+cn)p;316rns true 6013/ade=is_not" class="sr8h4"commen8 >
.c#L143" id>
L143" cl8ss="l84defined or not matcheeeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8h5"commen8             3a href="+c8de=ar84                  if       asoac#Lrrom_path3/a>(&ecurityTYPE_IS_SOCKET"line" namn>
L1ecurityTYPE_IS_SOCKETref=a>                        break; c384ity/tomoyo/condi  >
.................(&valass="sref">envp3/valasa hr   160" class="linS_IFSOCKs="sref">envp3/S_IFSOCKa hrp;316rns true 6013/ade=is_not" class="sr8r+code=en8
.c#L145" id>
L145" clas8="lin84href="+code=is_not" cccccccccccccccccbreakp;316rns true 6013/ade=is_not" class="sr8rcontinue8ass="line" namn>
L147">.8473/a84 >
.c#L207" id>
L207"a>      cac#Lrrom_path3/a>(&ecurityTYPE_IS_SYMLINK"line" namn>
L1ecurityTYPE_IS_SYMLINKref=a>                        break; (&valass="sref">envp3/valasa hr   160" class="linS_IFLNK"line" namn>
L1S_IFLNKa hrp;316rns true 6013/ade=is_not" class="sr8148" clas8="line" namn>
L148">.1488/a>  853/a> + 3a href="+codeeeeeeeeeccccccccbreakp;316rns true 6013/ade=is_not" class="sr81/a>; .1493/a>            8     8569">.1693/a>         eeeeeeeecac#Lrrom_path3/a>(&ecurityTYPE_IS_FILE"line" namn>
L1ecurityTYPE_IS_FILEref=a>                        break; .1503/a>            8     85argv[] are not matche        ........(&valass="sref">envp3/valasa hr   160" class="linS_IFREG"line" namn>
L1S_IFREGa hrp;316rns true 6013/ade=is_not" class="sr81cal_chec8ass="comment">/* Check. 8/3/sp85href="+code=envp_coun        ccccccccbreakp;316rns true 6013/ade=is_not" class="sr81amn" cla8!3a href="+code=tomoyo_a8gv" c85defined or not matcheeeeeeeeecac#Lrrom_path3/a>(&ecurityTYPE_IS_BLOCK_DEV"line" namn>
L1ecurityTYPE_IS_BLOCK_DEVref=a>                        break; 
L154">.1543/a>     8     85e" namn>
L173">.1733/t matche........(&valass="sref">envp3/valasa hr   160" class="linS_IFBLK"line" namn>
L1S_IFBLKa hrp;316rns true 6013/ade=is_not" class="sr816"commen8="sref">argv3/a>, (&ecurityTYPE_IS_DIRECTORYne" namn>
L229"ecurityTYPE_IS_DIRECTORYref=a>                        break; result3/a>8= 3a 85 >
.c#L207" id>
L207"t matche........(&valass="sref">envp3/valasa hr   160" class="linS_IFDIR"line" namn>
L1S_IFDIRa hrp;316rns true 6013/ade=is_not" class="sr819"commen8L157" class="line" namn>8L157"85e=false" class="sref"""""""""""""""""breakp;316rns true 6013/ade=is_not" class="sr8583/a>   8                        8   } 863/a> + 3a href="+codeeeeeeeeecac#Lrrom_path3/a>(&ecurityTYPE_IS_CHAR_DEV"line" namn>
L1ecurityTYPE_IS_CHAR_DEVref=a>                        break; ; argv_count3/a>-8; .1693/a>         t matche........(&valass="sref">envp3/valasa hr   160" class="linS_IFCHR"line" namn>
L1S_IFCHRa hrp;316rns true 6013/ade=is_not" class="sr85".38                    char8*3a h86argv[] are not matche        ........breakp;316rns true 6013/ade=is_not" class="sr8_ptr3/a>,83spa
 class="string">&=Ƃhref="+code=envp_coun        cac#Lrrom_path3/a>(&ecurityTYPE_IS_FIFO"line" namn>
L1ecurityTYPE_IS_FIFOref=a>                        break; envp3/valasa hr   160" class="linS_IFIFO"line" namn>
L1S_IFIFOa hrp;316rns true 6013/ade=is_not" class="sr855"commen8">.1643/a>              8     86e" namn>
L173">.1733/t matche........breakp;316rns true 6013/ade=is_not" class="sr8n+] = (3a8condi  >
.c#L165" id>
L185" cl86f="+code=tomoyo_scan_eeeeeeeecac#Lrrom_path3/a>(&ecurityMODE_SETUIDne" namn>
L229"ecurityMODE_SETUIDref=a>                        break; 
L166" class=8line"86href="+code=is_not" ceeeeeeeecodeeeee               valass="sref">envp3/valasa hr   160" class="linS_ISUIDne" namn>
L229"S_ISUIDa hrp;316rns true 6013/ade=is_not" class="sr85continue8o/condi  >
.c#L167" id>
8167" 86 >
.c#L207" id>
L207"t matche........breakp;316rns true 6013/ade=is_not" class="sr85lpath - 8sref">result3/a> = 3a hr8f="+c86e=false" class="sref"eeeeeeeecac#Lrrom_path3/a>(&ecurityMODE_SETGIDne" namn>
L229"ecurityMODE_SETGIDref=a>                        break; 
L168">.1683/a> 8     873/a> + 3a href="+codeeeeeeeeecccccccc               valass="sref">envp3/valasa hr   160" class="linS_ISGIDne" namn>
L229"S_ISGIDa hrp;316rns true 6013/ade=is_not" class="sr8>
.c#L1698 id>
L169" class="line" 8amn>
8769">.1693/a>                         breakp;316rns true 6013/ade=is_not" class="sr8>".38                        8   } 87argv[] are not matchese" clasoac#Lrrom_path3/a>(&ecurityMODE_STICKYne" namn>
L229"ecurityMODE_STICKYref=a>                        break; ,8                        8    387href="+code=envp_couneeeeeeeecccccccc               valass="sref">envp3/valasa hr   160" class="linS_ISVTXne" namn>
L229"S_ISVTXa hrp;316rns true 6013/ade=is_not" class="sr8>amn" cla8172" id>
L172" class="li8e" na87defined or not matcheeeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>amn>
L168 >
.c#L173" id>
L173" cl8ss="l87                  if       asoac#Lrrom_path3/a>(&ecurityMODE_OWNER_READne" namn>
L229"ecurityMODE_OWNER_READref=a>                        break; 
L174">.1743/a>        8     87ity/tomoyo/condi  >
.................(&valass="sref">envp3/valasa hr   160" class="linS_IRUSR"line" namn>
L1S_IRUSRa hrp;316rns true 6013/ade=is_not" class="sr8>+code=en8ne" namn>
L175">.1753/a>8     87href="+code=is_not" ceeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>continue8 class="line" namn>
L1768>.17687 >
.c#L207" id>
L207"      asoac#Lrrom_path3/a>(&ecurityMODE_OWNER_WRITE"line" namn>
L1ecurityMODE_OWNER_WRITEref=a>                        break; (&valass="sref">envp3/valasa hr   160" class="linS_IWUSR"line" namn>
L1S_IWUSRa hrp;316rns true 6013/ade=is_not" class="sr8ss="line"8namn>
L178">.1783/a>    8     883/a> + 3a href="+codeeeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s
.c#L1698="security/tomoyo/condi 8>
.c#8869">.1693/a>               asoac#Lrrom_path3/a>(&ecurityMODE_OWNER_EXECUTE"line" namn>
L1ecurityMODE_OWNER_EXECUTEref=a>                        break; 
.c#L180"8id>
L88argv[] are not matche................(&valass="sref">envp3/valasa hr   160" class="linS_IXUSR"line" namn>
L1S_IXUSRa hrp;316rns true 6013/ade=is_not" class="sr8sptr3/a>,8>
L181">.1813/a>3a href=8+code88href="+code=envp_couneeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8samn" cla8        if (3a href="+co8e=res88defined or not matche      asoac#Lrrom_path3/a>(&ecurityMODE_GROUP_READne" namn>
L229"ecurityMODE_GROUP_READref=a>                        break; 
L1683a href="+code=i" class=8sref"88e" namn>
L173">.1733/t matche........(&valass="sref">envp3/valasa hr   160" class="linS_IRGRP"line" namn>
L1S_IRGRPa hrp;316rns true 6013/ade=is_not" class="sr8s+] = (3a8
L185">.1853/a>         8     88f="+code=tomoyo_scan_eeeeeeeecodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s+code=en8) { (&ecurityMODE_GROUP_WRITE"line" namn>
L1ecurityMODE_GROUP_WRITEref=a>                        break; che88 >
.c#L207" id>
L207"nnnnnnnn........(&valass="sref">envp3/valasa hr   160" class="linS_IWGRP"line" namn>
L1S_IWGRPa hrp;316rns true 6013/ade=is_not" class="sr8slpath - 8" namn>
L187">.1873/a>  8     88e=false" class="sref"""""""""codeeeeebreakp;316rns true 6013/ade=is_not" class="sr8a
 class=8comment">/*3/spa
  (&ecurityMODE_GROUP_EXECUTE"line" namn>
L1ecurityMODE_GROUP_EXECUTEref=a>                        break; .1693/a>         eeeeeeeeeeeeeeee(&valass="sref">envp3/valasa hr   160" class="linS_IXGRP"line" namn>
L1S_IXGRPa hrp;316rns true 6013/ade=is_not" class="sr8a        8                     * b8rm-&g89argv[] are not matche        eeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8aptr3/a>,8L192" id>
L192" class="l8ne" n89href="+code=envp_coun        cac#Lrrom_path3/a>(&ecurityMODE_OAHERL namn>
L229"ecurityMODE_OWNER_REAAHERL namnref=a>                        break; i8/a>].89defined or not matcheeeeeeeeecodeeeee               valass="sref">envp3/valasa hr   160" class="linS_IROTHne" namn>
L229"S_IROTHa hrp;316rns true 6013/ade=is_not" class="sr8aamn>
L168 
L173">.1733/t matcheeeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8a+] = (3a8f="+code=result" class="8ref">89f="+code=tomoyo_scan_exec_reacac#Lrrom_path3/a>(&ecurityMODE_OAHERL WRITE"line" namn>
L1ecurityMODE_OAHERL WRITEref=a>                        break; 
.c#L185" id89href="+code=is_not" c                (&valass="sref">envp3/valasa hr   160" class="linS_IWOTHne" namn>
L229"S_IWOTHa hrp;316rns true 6013/ade=is_not" class="sr8acontinue8code=i" class="sref">i3/8> = 089 >
.c#L207" id>
L207" class="eeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8alpath - 8" id>
L198" class="line"8namn>89e=false" class="sref"""""""""cac#Lrrom_path3/a>(&ecurityMODE_OAHERL EXECUTE"line" namn>
L1ecurityMODE_OAHERL EXECUTEref=a>                        break; [3a hr9f="+code=argc" class="sr9f">ar903/a> + 3a href="+codeeeeeeeee        (&valass="sref">envp3/valasa hr   160" class="linS_IXOTHne" namn>
L229"S_IXOTHa hrp;316rns true 6013/ade=is_not" class="sr9lass="lin9" namn>
L199">.1993/a>  9     9069">.1693/a>                         breakp;316rns true 6013/ade=is_not" class="sr9/2ss="lin9"                    * b9rity/90argv[] are not matche        cac#Lrrom_path3/a>(&ecurityEXEC_ARGC"line" namn>
L1ecurityEXEC_ARGCref=a>                        break; 
L192" class="l9/tomo90href="+code=envp_counnnnnnnnnnnnnnnnne" n>               bpr1ne" namn>
L229"bpr1a hra;316rns true 6013/ade=is_not" class="sr9s4"commen9"+code=i" class="sref">i9ther 90defined or not matcheeeeeeeeecodeeeee are notgo;.3160" class="lin"li"line" namn>
L1"utfilnp;316rns true 6013/ade=is_not" class="sr9s5"commen9"
L173">.1733/a>              (&valass="sref">envp3/valasa hr   160" class="linbpr1ne" namn>
L229"bpr1a hrs="line" namn>
L233" rg=envp" class="srerg=3/a>p;316rns true 6013/ade=is_not" class="sr9s6"commen9"="+code=result" class="9p" cl90f="+code=tomoyo_scan_________________breakp;316rns true 6013/ade=is_not" class="sr9/7"commen9"y/tomoyo/condi  >
.c#L19>390href="+code=is_not" c        cac#Lrrom_path3/a>(&ecurityEXEC_ENVC"line" namn>
L1ecurityEXEC_ENVCref=a>                        break; i3/9/cond90 >
.c#L207" id>
L207"nnnnnnnnnnnnnnnne" n>               bpr1ne" namn>
L229"bpr1a hra;316rns true 6013/ade=is_not" class="sr9s9"commen9" id>
L198" class="line"9ref">90e=false" class="sref"""""""""""""""""""""""""go;.3160" class="lin"li"line" namn>
L1"utfilnp;316rns true 6013/ade=is_not" class="sr9ef="secur9ty/tomoyo/condi  >
.c#L298" id913/a> + 3a href="+codeeeeeeeeeeeeeeeee(&valass="sref">envp3/valasa hr   160" class="linbpr1ne" namn>
L229"bpr1a hrs="line" namn>
L233"|| =envp" class="sr|| =3/a>p;316rns true 6013/ade=is_not" class="sr9eass="lin9reak; .1693/a>                         breakp;316rns true 6013/ade=is_not" class="sr9  } (&ecurityNUMBER_UNION"line" namn>
L1ecurityNUMBER_UNIONref=a>                        break; ) 
L207"eeeeeeee
.c#L223" id>
L223" class="li9o4"commen9n3/a>(3a href="+code=che9ked" 91defined or not matchef="+code        breakp;316rns true 6013/ade=is_not" class="sr9 5"commen9 >
.c#L213" id>
L213" cl9ss="l91e" namn>
L173">.1733/a>      defaulta>                        break; resul93/a>;91ity/tomoyo/condi  >
.................e" n>               "bj"line" namn>
L1"bja hra;316rns true 6013/ade=is_not" class="sr9 +code=en9
L1"utfilnp;316rns true 6013/ade=is_not" class="sr9e8"commen9yo/condi  >
.c#L217" id>9L217"91 >
.c#L207" id>
L207"a>      ........e" n>               "bj"line" namn>
L1"bja hrs="line" namn>
L233"validate_donss="sref">envp3/validate_donsa hra namn>
L197">.1973/a>                for 9e9"commen9heck "exec.realpath9quot;91e=false" class="sref"""""""""................ne" namn>
L233">.2293/get_attributesoyo/condi  >
.c>.2293/get_attributes=faln160" class="lin"bj"line" namn>
L1"bja hrap;316rns true 6013/ade=is_not" class="sr9" namn>
L918">.2183/a>3spa
 class=9comme923/a> + 3a href="+codeeeeeeeeecccccccc........ne" namn>
L233""bj"line" namn>
L1"bja hrs="line" namn>
L233"validate_donss="sref">envp3/validate_donsa hr   160" class="lin>rass="sref">envp3/>ras/a> p;316rns true 6013/ade=is_not" class="sr9"ass="lin9quot;struct filn".39spa
 9269">.1693/a>         eeeeeeeeeeeeeeee ;316rns true 6013/ade=is_not" class="sr9" } .1973/a>                for 9"cal_chec9match: True if "exe9.real92href="+code=envp_coun        cccccccc........ne" namn>
L233"u8"line" namn>
L1u8pa
  (&stat_index namn>
L160">.1stat_index/a> p;316rns true 6013/ade=is_not" class="sr9"4"commen9L222">.2223/a>3spa
 clas9="com92defined or not matcheeeeeeeeeeeeeeeeeeeeeeeeef">
L21               >.2293/mini_statoyo/condi  >
.c>.2293/mini_statefine*(&stat namn>
L160">.1stat/a> p;316rns true 6013/ade=is_not" class="sr9"5"commen9223">.2233/a>3spa
 class9"comm92e" namn>
L173">.1733/t matche........eeeeeeeefwitch n160" class="linindex namn>
L160">.1indexpa
 a namn>
L197">.1973/a>                for 9"6"commen9ol" class="sref">bool3/a9 3a h9ef="+code=tomoyo_scan_eeeeeeeeccccccccccccccccoac#Lrrom_path3/a>(&ecurityPATH1_UIDne" namn>
L229"ecurityPATH1_UIDref=a>                        break; 
L226" class="line" n9mn>
L92href="+code=is_not" ceeeeeeeeccccccccccccccccoac#Lrrom_path3/a>(&ecurityPATH1_GIDne" namn>
L229"ecurityPATH1_GIDref=a>                        break; 
.c#9227" 92 >
.c#L207" id>
L207"t matche........ccccccccoac#Lrrom_path3/a>(&ecurityPATH1_INO"line" namn>
L1ecurityPATH1_INOref=a>                        break; (&ecurityPATH1_MAJOR"line" namn>
L1ecurityPATH1_MAJORref=a>                        break; 
L228">.2283/a>{ (&ecurityPATH1_MINOR"line" namn>
L1ecurityPATH1_MINORref=a>                        break; 
9369">.1693/a>                         ccccccccoac#Lrrom_path3/a>(&ecurityPATH1_TYPE"line" namn>
L1ecurityPATH1_TYPEref=a>                        break;  3a 9ref="93argv[] are not matche        ........ccccccccoac#Lrrom_path3/a>(&ecurityPATH1_DEV_MAJOR"line" namn>
L1ecurityPATH1_DEV_MAJORref=a>                        break; 
L1ecurityPATH1_DEV_MINORref=a>                        break; namn3/a> = 3a h9ef="+93defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>(&ecurityPATH1_PERM"line" namn>
L1ecurityPATH1_PERMref=a>                        break; f_path3/a>); 
L173">.1733/t matche........................(&stat_index namn>
L160">.1stat_index/a>    160" class="linecurityPATH1"line" namn>
L1ecurityPATH1/a> p;316rns true 6013/ade=is_not" class="sr9s6"commen9a>]) i3/a97urit93f="+code=tomoyo_scan_eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr9s+code=en9ent"> =f">toef="+code=re9ult" 93href="+code=is_not" cccccccccccccccccccccccccoac#Lrrom_path3/a>(&ecurityPATH2_UIDne" namn>
L229"ecurityPATH2_UIDref=a>                        break; 
L137">.1373/a>   9     93 >
.c#L207" id>
L207"t matche........ccccccccoac#Lrrom_path3/a>(&ecurityPATH2_GIDne" namn>
L229"ecurityPATH2_GIDref=a>                        break; 
L138">.1383/a9     93e=false" class="sref"""""""""........ccccccccoac#Lrrom_path3/a>(&ecurityPATH2_INO"line" namn>
L1ecurityPATH2_INOref=a>                        break; 9rg_le943/a> + 3a href="+codeeeeeeeeeccccccccccccccccoac#Lrrom_path3/a>(&ecurityPATH2_MAJOR"line" namn>
L1ecurityPATH2_MAJORref=a>                        break; ; 
L140">.1403/a>   9     9469">.1693/a>                         ccccccccoac#Lrrom_path3/a>(&ecurityPATH2_MINOR"line" namn>
L1ecurityPATH2_MINORref=a>                        break; (&ecurityPATH2_TYPE"line" namn>
L1ecurityPATH2_TYPEref=a>                        break; 
.c#L142" id>
9142" 94href="+code=envp_coun        ccccccccccccccccoac#Lrrom_path3/a>(&ecurityPATH2_DEV_MAJOR"line" namn>
L1ecurityPATH2_DEV_MAJORref=a>                        break; 
.c#L143" id>
L143" cl9ss="l94defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>(&ecurityPATH2_DEV_MINOR"line" namn>
L1ecurityPATH2_DEV_MINORref=a>                        break; 
L1ecurityPATH2_PERMref=a>                        break; c394ity/tomoyo/condi  >
.................................(&stat_index namn>
L160">.1stat_index/a>    160" class="linecurityPATH2"line" namn>
L1ecurityPATH2/a> p;316rns true 6013/ade=is_not" class="sr9r+code=en9
.c#L145" id>
L145" clas9="lin94href="+code=is_not" cccccccccccccccccccccccccccccccccbreakp;316rns true 6013/ade=is_not" class="sr9rcontinue9ass="line" namn>
L147">.9473/a94 >
.c#L207" id>
L207"a>                      oac#Lrrom_path3/a>(&ecurityPATH1_PARENT_UIDne" namn>
L229"ecurityPATH1_PARENT_UIDref=a>                        break; (&ecurityPATH1_PARENT_GIDne" namn>
L229"ecurityPATH1_PARENT_GIDref=a>                        break; 
L148">.1489/a>  953/a> + 3a href="+codeeeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH1_PARENT_INO"line" namn>
L1ecurityPATH1_PARENT_INOref=a>                        break; ; .1493/a>            9     9569">.1693/a>         eeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH1_PARENT_PERM"line" namn>
L1ecurityPATH1_PARENT_PERMref=a>                        break; .1503/a>            9     95argv[] are not matche        ........................(&stat_index namn>
L160">.1stat_index/a>   >                        break; /* Check. 9/3/sp95href="+code=envp_coun        cccccccc........................(&ecurityPATH1_PARENT"line" namn>
L1ecurityPATH1_PARENT/a> p;316rns true 6013/ade=is_not" class="sr91amn" cla9!3a href="+code=tomoyo_a9gv" c95defined or not matcheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr915"commen9amn>
L154">.1543/a>     9     95e" namn>
L173">.1733/t matche................oac#Lrrom_path3/a>(&ecurityPATH2_PARENT_UIDne" namn>
L229"ecurityPATH2_PARENT_UIDref=a>                        break; argv3/a>, (&ecurityPATH2_PARENT_GIDne" namn>
L229"ecurityPATH2_PARENT_GIDref=a>                        break; 
.c#L19id="+95href="+code=is_not" ceeeeeeeeE_IS_CHAR_DEVref=a>                        break; (&ecurityPATH2_DEl9  95argv[] are not matche  17ebrea13543/a>     9     95e" namn>
L173line" nam....(&ecurityPATH1_PARENT"line" eeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH1_P_PARENT_U class="linS_IFDIR"line"9namn>9L1S_IFDIRa hrp;316rns true 6013/ade=isssssssssssssssss1 } .1503/a>            9     95argv[] are not matche        ........................8L157985e=false" class="sref""9"""""9""""""""breakp;316rns true 601true 6013/ade=isssssssssssssssss1 } ._PARENT"line" eeeee>(&ecurityPATH1_PARENT"line" eeeeeccc........................(&ecu_IS_CHAR_9EV"line" namn>
L1ecurity9YPE_I9_CHAR_DEVref=a>                                       1amn" cla9!3a href="+code=tomoyo_a9gv" c95defi hr   1609 class="linS_IFCHR"line"9namn>9L1S_IFCHRa hrp;316rns true 6013/ade=isssssssss3/ade=is_not" class="sr9 5"commen9 >
.c#L213" idchar8*3a 986argv[] are not matche 9     9........breakp;316rns true 601111111111111111111111111ass="sr9 +code=en9
L1ecu9ityTY9E_IS_FIFOref=a>                               _not" class="sr9"ass="lin9quot;struct fil hr   1609 class="linS_IFIFO"line"9namn>9L1S_IFIFOa hrp;316rns true 6013/ade=isssssssss_not" class="sr9e8"commen9yo/condi  >
.c#L217" id>9L217"91 >
.c#L95arg.....         9     95arg.....L217[1 } .1503/a>            9     95argv[] are n]resul93/a>;91ity/tomoyo/condi  >
........    8    986e" namn>
L173">.1733/t9match9........breakp;316rns true 601111111111111111111111111ass="sr9 +code=en9
L229"ec9rityM9DE_SETUIDref=a>                               eeeeeeeeeeeeeeeeeeeef">
L21               ond          valass="srommen9yo/condi  >
.c#L217" id>9L217"91 >
.c#L95aref">
L21               [1 } .1503/a>            9     95argv[] are n]ndi91href="+code=is_not" ccccccccccccccccr; 
L299"S_ISUIDa hrp;316rns true 6013/ade=isssssssssass="sr9"5"commen9223">.2233/a>3spa
 class9"comm92e" namn>
L173">.1733/t matche........eeeeeeeeid>
8167"986 >
.c#L207" id>
L207"t9match9........breakp;316rns true 6011111111111111111   for 9"6"commen9ol" class="sref">bool3/a9 3a h9ef="+code=tomoyo_scan_eeeeeeeeccccccccccccccccoac#Lrrom_path3/acurityMOD9_SETGIDne" namn>
L229"ec9rityM9DE_SETGIDref=a>                       11111111   for 9"6"commen9ol" class="srf="+code=re9ult" 93href="+code=is_not" cccccccccccccccccccccccccoac#Lrrom_path3/a hr   1609 class="linS_ISGIDne" na9n>
L299"S_ISGIDa hrp;316rns true 6013/ade=is11111111   for 9"6"commen9ol" class="sref>
L147">.9473/a94 >
.c#L207" id>
L207"a>                      oac#Lrrom_path3/a>(&ecurityPATHne" 8amn>98769">.1693/a>          9     9        breakp;316rns true 601        11111111   for 9"6"commen9ol" class="srf=3/a>     9     95e" namn>
L173">.1733/t matche................oac#Lrrom_path3/a>(&ecurityPATHcurityMOD9_STICKYne" namn>
L229"ec9rityM9DE_STICKYref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" namn>
L173">.1733/t matche........(&valass="sref">envp3/valasa hr   160" class="linfrom_kuidne" namn>
L22995aref">
L21               " id>9L217"91 >
.c#L173">.1733/t match...
.c>.2293/get_at hr   1609 class="linS_ISVTXne" na9n>
L299"S_ISVTXa hrp;316rns true 6013/ade=isssssssssssssssss1amn" cla9!3a href="+code=tomoyo_a9gv" c95defi="li8e" n987defined or not matchee9eeeee9codeeeeebreakp;316rns true 6011111111111111111
L226" class="line" n9mn>
L92href="+code=is_not" ceeeeeeeeccccccccccccccccoac#Lrrom_path3/aDE_OWNER_9EADne" namn>
L229"ecurit9MODE_9WNER_READref=a>                       11111111
L226" cla.1373/a>   9     93 >
.c#L207" id>
L207"t matche........ccccccccoac#Lrrom_path3/a hr   1609 class="linS_IRUSR"line"9namn>9L1S_IRUSRa hrp;316rns true 6013/ade=is11111111
L226" classarg_len" 9lass=94e=false" class="sref"""""""""........        oac#Lrrom_path3/a>(&ecurityPATH3/a>8    987href="+code=is_not" ce9eeeee9codeeeeebreakp;316rns true 601        11111111
L226" cla.1>, (&ecurityPATH_OWNER_WR9TE"line" namn>
L1ecurity9ODE_O9NER_WRITEref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" namn>
Le=is_not" ccccccccccccccccc               valass="sref">envp3/valasa hr   160" class="linfrom_kgidne" namn>
L22995aref">
L21               " id>9L217"91 >
.c#Le=is_not" ccccccccg..
.c>.2293/get_at hr   1609 class="linS_IWUSR"line"9namn>9L1S_IWUSRa hrp;316rns true 6013/ade=isssssssssssssssss1amn" cla9!3a href="+code=tomoyo_a9gv" c95defi    8    9883/a> + 3a href="+codee9eeeee9codeeeeebreakp;316rns true 6011111111111111111
.c#9227" 92 >
.c#L207" id>
L207"t matche........ccccccccoac#Lrrom_path3/aER_EXECUT9"line" namn>
L1ecurityMO9E_OWN9R_EXECUTEref=a>                       11111111.1383/a9     93e=false" class="sref"""""""""........ccccccccoac#Lrrom_path3/a hr   1609 class="linS_IXUSR"line"9namn>9L1S_IXUSRa hrp;316rns true 6013/ade=is11111111.1489/a>  953/a> + 3a href="+codeeeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATHref=8+cod988href="+code=envp_coune9eeeee9codeeeeebreakp;316rns true 601        11111111
.c#L19id="+95href="+code=is_not" ceeeeeeeeE_IS_CHAR_DEVref=a>                        breaDE_GROUP_9EADne" namn>
L229"ecurit9MODE_9ROUP_READref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" n95aref">
L21               " id>9L217"91 >
.c#Linolasa hr   160" cloo9condi91href="+code=is_not" cccccccccccccccc hr   1609 class="linS_IRGRP"line"9namn>9L1S_IRGRPa hrp;316rns true 6013/ade=isssssssssssssssss1amn" cla9!3a href="+code=tomoyo_a9gv" c95defi hr   160988f="+code=tomoyo_scan_e9eeeee9codeeeeebreakp;316rns true 6011111111111111111(&e_GROUP_WR9TE"line" namn>
L1ecurity9ODE_G9OUP_WRITEref=a>                       111111119rg_le943/a> + 3a href="+codeeeeeeeeeccccccccccccccccoac#Lrrom_path3/a>(&e hr   1609 class="linS_IWGRP"line"9namn>9L1S_IWGRPa hrp;316rns true 6013/ade=isssssssssssssssssmme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" ns="sref">9rg_le943/a+codeeeee9"5"commen9223">95aref">
L21               " id>9L217"91 >
.c#Ldevef">
L21       dev
.c>.2293/get_ata>  8    988e=false" class="sref""9"""""9codeeeeebreakp;316rns true 6011111111111111111111111111amn" cla9!3a href="+code=tomoyo_a9gv" c95defiUP_EXECUT9"line" namn>
L1ecurityMO9E_GRO9P_EXECUTEref=a>                               
L228">.2283/a>{ (&e hr   1609 class="linS_IXGRP"line"9namn>9L1S_IXGRPa hrp;316rns true 6013/ade=is        
L228">.2.1403/a>   9     9469">.1693/a>                         ccccccccoac#Lrrom_path3/a>(&e * b8rm-&989argv[] are not matche 9     9eeeeeeeebreakp;316rns true 601111111111111111111111111mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" ns03/a>   9     9469"         9"5"commen9223">95aref">
L21               " id>9L217"91 >
.c#Ldevef">
L21       dev
.c>.2293/get_ataef=8+cod9mn>
L229"ecurityMODE_OWN9R_REA9HERL namnref=a>                                       1amn" cla9!3a href="+code=tomoyo_a9gv" c95defiUE_GROUP_9 class="linS_IROTHne" na9n>
L299"S_IROTHa hrp;316rns true 6013/ade=isssssssss
9369">.1693/a>                         ccccccccoac#Lrrom_path3/a>(omoy8/con989e" namn>
L173">.1733/t9match9eeeeeeeebreakp;316rns true 6013/ade=isssssssss(AHERL WRI9E"line" namn>
L1ecurityM9DE_OA9ERL WRITEref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" n95aref">
L21               " id>9L217"91 >
.c#Lm.c#ef">
L21       m.c#spa
      /con8i  >
86defined Me>(&ecurityPATH1ned Meo9condi91href="+code=is_not" cccccccccccccccc hr   1609 class="linS_IWOTHne" na9n>
L299"S_IWOTHa hrp;316rns true 6013/ade=isssssssssssssssss1amn" cla9!3a href="+code=tomoyo_a9gv" c95defiUhr   160989 >
.c#L207" id>
L207" 9lass=9eeeeeeeebreakp;316rns true 6011111111111111111 3a 9ref="93argv[] are not matche        ........ccccccccoac#Lrrom_path3/a>(&ecurityP10L EXECUTE10L EX
.c#L207" id>
L207" 10L E>10L H2_TYPEref=a>                        break; 
.c#L142" id>
9142" 94href="+code=envp_coun        ccccccc/pre>..ccccccccoac#Lrrom_path3/a>(&ecurityP10L1EXECUTE10Lline" namn>
L1ecurityMO10Lli>10LCHAR_DEVref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" ns="sref">9rg_le943/a+codeeeee9"5"commen9223">95aref">
L21               " id>9L217"91 >
.c#Lrdevef">
L21       rdev
.c>.2293/get_a10L2EXECUTE10Lclass="linS_IXGRP"line"10Lcl>10LENT_PERMref=a>                        break; 10LEV_MAJORref=a>                        break; >10LEV_MAJORref=a>                        break; 
.c#L143" id>
L143" cl9ss="l94defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>(&ecurityP10L5EXECUTE10Lclass="linS_IROTHne" na10Lcl>10LOUP_READref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" ns03/a>   9     9469"         9"5"commen9223">95aref">
L21               " id>9L217"91 >
.c#Lrdevef">
L21       rdev
.c>.2293/get_a10L6EXECUTE10L9e" namn>
L173">.1733/t10L9e>10L1S_IRGRPa hrp;316rns true 6013/ade=isssssssssssssssss1amn" cla9!3a href="+code=tomoyo_a9gv" c95def10L7EXECUTE10L"line" namn>
L1ecurityM10L"l>10L1S_IRUSRa hrp;316rns true 6013/ade=is11111111
L226" classa> = 3a h9ef="+93defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>10L8EXECUTE10Lclass="linS_IWOTHne" na10Lcl>10Lodeeeeebreakp;316rns true 601        11111111
L226" cla.1>href="+c9de=ar94                  if       ascodeeeeeccccccccoac#Lrrom_path3/a>10L9EXECUTE10L9 >
.c#L207" id>
L207" 10L9 >10LRENT_UIDref=a>                        break; .1693/a>         eeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH1101 EXECUTE10o;.3160" class="lin"li"l10o;.>10o;rgv[] are not matche  17ebrea13543/a>     9     95e" namn>
L173line" nam....(&ecurityPATH1_PARENT"line" eeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH110o1EXECUTE10line" namn>
L233"|| =env10lin>10oCHAR_DEVref=a>                                       mme923/a> + 3a hre"commen8223">.2233/a>3spa
 class8"comm82e" n95aref">
L21               " id>9L217"91 >
.c#Lm.c#ef">
L21       m.c#spa
      /con8i  >
86definedALLUG not matcheeeeeeeeeALLUG o9condi91href="+code=is_not" ccccccccccccccc10o2EXECUTE109169">.1693/a>          10916>10oENT_PERMref=a>                        break; 
L1ecu10_UN>10oEV_MAJORref=a>                        break; _not" class="sr9"ass="lin9quot;struct fi10o4EXECUTE10yo_execve&quo/* Fetch va10yo_>10oEV_MAJORref=a>                       _not" class="sr9"ass="lin9quot;struct fi10o5EXECUTE1091defined or not matchef1091d>10o"S_IROTHa hrp;316rns true 6013/ade=is_not" class="sr8aamn>
L168 
L173">.109ss>10o1S_IRGRPa hrp;316rns true 601_not" class="sr9"ass="lin9quot;struct fi10o7EXECUTE10" n>               "bj"l10" n>10o1S_IRUSRa hrp;316rns true 6019L217"91 >
.c#Lmax_vef">
L21       max_v    [1 } .men9yo/condi  >
#L217] class8"comm82e" nhre"commen8223">.2233/a>3spa
 class="sr8aamn>
L168 10oodeeeeebreakp;316rns true 6019L217"91 >
.c#Lmin_vef">
L21       min_v    [1 } .men9yo/condi  >
#L217] class8"comm82e" nhre"commen8223">.2233/a>3spa
 class="sr8aamn>
L168 envp310ida>10oRENT_UIDref=a>               ass="sr9"5"commen9223">.2233/a>3spa
 class9"comm92e" namn>
L173">.1733/t matche........eeeeeee102 EXECUTE10aln160" class="lin"bj"li10aln>10alENT_UIDref=a>               3/ade=is_not" class="sr8n+] = (3a8condi  >
.c#L165" id>
L185" cl86f="+code=tomoyo_scan_eeeeeeeecac#Lrrom_path3/a>(&10a1EXECUTE10  160" class="lin>rass="10  1>10aodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s
.c#L16 8sref">result3/a> = 3a hr8f="+c86e=false" class="sref"eeeeeeeecac#Lrrom_path3/a>(&10a2EXECUTE10spa
 9269">.1693/a>     10spa>10a       breakp;316rns true 6013/ade=is_not" class="sr8>".38                        8   } 87argv[] are not matchese" clasoac#Lrrom_path3/a>(&10a3EXECUTE10omoyo92argv[] are not ma10omo>10aeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8aptr3/a>,8 >
.c#L173" id>
L173" cl8ss="l87                  if       asoac#Lrrom_path3/a>(&ecurityM10a4EXECUTE10/a>(&stat_index namn>
L110/a>>10aodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8samn" cle8 class="line" namn>
L1768>.17687 >
.c#L207" id>
L207"      asoac#Lrrom_path3/a>(&ecurityMOD10a5EXECUTE10e*(&stat na10e*<>10aodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>amn>
L168 >
.curity/tomoyo/condi 8>
.c#8869">.1693/a>               asoac#Lrrom_path3/a>(&ecurityMODE_OW10a6EXECUTE100" class="linindex namn>100" >10aeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8a+] = (3a8        if (3a href="+co8e=res88defined or not matche      asoac#Lrrom_path3/a>(&ecurityM10a7EXECUTE10PATH1_UIDne" namn>
L229"10PAT>10aodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s+code=en8) { (&ecurityMOD10a8EXECUTE10PATH1_GIDne" namn>
L229"10PAT>10aodeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>continu=8comment">/*3/spa
  (&ecurityMODE_GR10a9EXECUTE10PATH1_INO"line" namn>
L110PAT>10aeeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8alpath - 8" id> id>
L192" class="l8ne" n89href="+code=envp_coun        cac#Lrrom_path3/a>(&ecurityMOD103 EXECUTE101_MAJOR"line" namn>
L1ec101_M>101_eeeeeebreakp;316rns true 6013/ade=is_not" class="sr8alpath - 8" id>ode=result" class="8ref">89f="+code=tomoyo_scan_exec_reacac#Lrrom_path3/a>(&ecurityMODE_1011EXECUTE101_MINOR"line" namn>
L1ec101_M>101odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s
.c#L1698" id>
L198" class="line"8namn>89e=false" class="sref"""""""""cac#Lrrom_path3/a>(&ecurityMODE_OAHE1012EXECUTE10TH1_TYPE"line" namn>
L1e10TH1>101_EXECUTEref=a>                        break; 3spa
 class9"s_bitop    [1 } .men9yo/condi  >
#L217] class8"comm82e" nn>
L1"bja hrs="line" namn>
L233"validate_donss="sref">envp3/validat1013EXECUTE10JOR"line" namn>
L1ecurit10JOR>101eeeeeeebreakp;316rns true 601_not" class="sr9"ass="lin9quot;struct fi1034EXECUTE10NOR"line" namn>
L1ecurit10NOR>101odeeeeebreakp;316rns _not" class="sr9"ass="lin9quot;struct fi1035EXECUTE10TH1_PERM"line" namn>
L1e10TH1>101odeeeeebreakp;316rns _notass8"comm82e" nlefref">
L21       lefrspa
 cndi  >
................. .1733/t matche........eeeeeee1036EXECUTE10necurityPATH1"line" namn10nec>101eeeeeeebreakp;316rns true 601 break; ) 101odeeeeebreakp;316rns true 6013onstlass="sr9"4"commen9L222">.2223number_un"ee1"bja hrs="line">.2223number_un"eedeeeeeeeeeeeeeeeeeeeeptr1"bja hrs="lineptrspa
 class8"comm82e" nnumbers_p/a>3spa
 class9numbers_pspa
++L233"validate_donss="sref">envp3/validat1018EXECUTE10PATH2_UIDne" namn>
L229"10PAT>101odeeeeebreakp;316rns true 6019L217"91 >
.c#Lmin_vef">
L21       min_v    [0] class8"comm82e" nptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a hreurealpath9quot;91ehreure    [0]L233"validate_donss="sref">envp3/validat1019EXECUTE10PATH2_GIDne" namn>
L229"10PAT>101eeeeeeebreakp;316rns true 6019L217"91 >
.c#Lmax_vef">
L21       max_v    [0] class8"comm82e" nptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a hreurealpath9quot;91ehreure    [1]L233"validate_donss="sref">envp3/validat104 EXECUTE10PATH2_INO"line" namn>
L110PAT>10PAdeeeeebreakp;316rns _not" class="sr9"ass="lin9quot;struct fi1041EXECUTE102_MAJOR"line" namn>
L1ec102_M>10Podeeeeebreakp;316rns _notass8"comm82e" nrighref">
L21       righrspa
 cndi  >
................. .1733/t matche........eeeeeee1042EXECUTE102_MINOR"line" namn>
L1ec102_M>10P_EXECUTEref=a>                break; ) 
L1e10TH2>10Peeeeeeebreakp;316rns true 6013onstlass="sr9"4"commen9L222">.2223number_un"ee1"bja hrs="line">.2223number_un"eedeeeeeeeeeeeeeeeeeeeeptr1"bja hrs="lineptrspa
 class8"comm82e" nnumbers_p/a>3spa
 class9numbers_pspa
++L233"validate_donss="sref">envp3/validat1044EXECUTE10JOR"line" namn>
L1ecurit10JOR>10Podeeeeebreakp;316rns true 601_notass8"comm82e" nptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a group/a>3spa
 class9groupare  namn>
L173">.1733/t matche........eeeeeee1045EXECUTE10NOR"line" namn>
L1ecurit10NOR>10P"S_IROTHa hrp;316rns true 6013/ade=is_notass8"comm82e" n">.2223number_mad3/es_group/a>3spa
 class9">.2223number_mad3/es_group    9"5"commen9223">min_vef">
L21       min_v    [0],mn>
L173">.1733/t matche........eeeeeee1046EXECUTE10TH2_PERM"line" namn>
L1e10TH2>10P1S_IRGRPa hrp;316rns true 6013/ade=isssssssssssssssssssssssssssssssss9L217"91 >
.c#Lmax_vef">
L21       max_v    [0],mn>
L173">.1733/t matche........eeeeeee1047EXECUTE10necurityPATH2"line" namn10nec>10PRL WRITEref=a>                                       ssssssssssssssss9L217"91 >
.c#Lptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a group/a>3spa
 class9groupare  mn>
L173">.1733/t matche........eeeeeee1048EXECUTE10_not" cccccccccccccccccc10_no>10Podeeeeebreakp;316rns true 601        1111cndi  >
..........mad3/ef">
L21       mad3/are  mn>
L173">.1733/t matche........eeeeeee1049EXECUTE10IDne" namn>
L229"ecurity10IDn>10PRENT_UIDref=a>                        break; envp3/validat105 EXECUTE10IDne" namn>
L229"ecurity10IDn>10IDeeeeeebreakp;316rns true 601_ eladeamn>
L173">.1733/t matche........eeeeeee1051EXECUTE10NO"line" namn>
L1ecurity10NO">10ICHAR_DEVref=a>                       _not9"5"commen9223">min_vef">
L21       min_v    [0] <class8"comm82e" nptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a hreurealpath9quot;91ehreure    [1]           mn>
L173">.1733/t matche........eeeeeee1052EXECUTE10M"line" namn>
L1ecurityP10M"l>10IENT_PERMref=a>                        brea9L217"91 >
.c#Lmax_vef">
L21       max_v    [0] =9coclass8"comm82e" nptr1"bja hrs="lineptrspa
s=9comme923/a> + 3a hreurealpath9quot;91ehreure    [0])1cndi  >
..........mad3/ef">
L21       mad3/are  mn>
L173">.1733/t matche........eeeeeee1053EXECUTE10a>(&stat_index namn>
L1610a>(>10IEV_MAJORref=a>                        break; envp3/validat1054EXECUTE10PARENT"line" namn>
L1ecu10PAR>10Iodeeeeebreakp;316rns true 601_not" class="sr9"ass="lin9quot;struct fi1055EXECUTE10 matcheeeeeeeeeeeeeeeeee10 ma>10I"S_IROTHa hrp;316rns true 601ass="sr9 +code=en9
L229"ecurity10IDn>10I1S_IRGRPa hrp;316rns _not" class="sr9"ass="lin9quot;struct fi1057EXECUTE10IDne" namn>
L229"ecurity10IDn>10IRL WRITEref=a>        break; (&ecurityPATH2_10""">10Iodeee break; 3spt9/tomo91href="+code=envp_cound>
L207"eeeeee1059EXECUTE10 class="linS_IFDIR"line"10 cl>10I9deee break; 1085deee break; 
L1ecurity10EV">108odeeeeebreakp;316rns _notass8"comm82e" nis_bitop/a>3spa
 class9"s_bitop    [0]             break; 3spa
 class9"s_bitop    [1] namn>
L173">.1733/t matche........eeeeeee1062EXECUTE10 class="linS_IFCHR"line"10 cl>108ENT_PERMref=a>               ass="sr9 +code=en9108EV_MAJORref=a>       _ elade_notass8"comm82e" nis_bitop/a>3spa
 class9"s_bitop    [0] namn>
L173">.1733/t matche........eeeeeee1064EXECUTE10S_FIFO"line" namn>
L1ecu10S_F>108odeeeeebreakp;316rns true 601ass="sr9"5"commen9223">righref">
L21       righrspa
 namn>
L173">.1733/t matche........eeeeeee1065EXECUTE10 class="linS_IFIFO"line"10 cl>108odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>am classa> = 3a h9ef="+93defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>1066EXECUTE1086e" namn>
L173">.1733/t1086e>108eeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8a+]+code=arg_len  9     9569">.1693/a>         eeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH11067EXECUTE10_SETUIDne" namn>
L229"ec10_SE>108odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s+c cla.1>href="+c9de=ar94                  if       ascodeeeeeccccccccoac#Lrrom_path3/a>1068EXECUTE10 class="linS_ISUIDne" na10 cl>108odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>com....(&ecurityPATH1_PARENT"line" eeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH11069EXECUTE1086 >
.c#L207" id>
L207"t1086 >108RENT_UIDref=a>                       _not"9"5"commen9223">max_vef">
L21       max_v    [0] =      break; 
L21       max_v    [1])1cnd" class="sr9e8"cmad3/ef">
L21       mad3/are  mn>
L173">.1733/t matche........eeeeeee107 EXECUTE10_SETGIDne" namn>
L229"ec10_SE>10_SV_MAJORref=a>                        break; envp3/validat1071EXECUTE10 class="linS_ISGIDne" na10 cl>10_CHAR_DEVref=a>               _not" class="sr9"ass="lin9quot;struct fi1072EXECUTE108769">.1693/a>          10876>10_ENT_PERMref=a>               ass="sr9 +code=en9
L229"ec10_ST>10_EV_MAJORref=a>       _ elade_notass8"comm82e" nis_bitop/a>3spa
 class9"s_bitop    [1] namn>
L173">.1733/t matche........eeeeeee1074EXECUTE10 class="linS_ISVTXne" na10 cl>10_odeeeeebreakp;316rns true 601ass="sr9"5"commen9223">lefref">
L21       lefrspa
 namn>
L173">.1733/t matche........eeeeeee1075EXECUTE1087defined or not matchee1087d>10_odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>am classa> = 3a h9ef="+93defined or not matcheeeeeeeeecodeeeeeccccccccoac#Lrrom_path3/a>1076EXECUTE10EADne" namn>
L229"ecurit10EAD>10_eeeeeeebreakp;316rns true 6013/ade=is_not" class="sr8a+]+code=arg_len  9     9569">.1693/a>         eeeeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH11077EXECUTE10 class="linS_IRUSR"line"10 cl>10_odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8s+c cla.1>href="+c9de=ar94                  if       ascodeeeeeccccccccoac#Lrrom_path3/a>1078EXECUTE1087href="+code=is_not" ce1087h>10_odeeeeebreakp;316rns true 6013/ade=is_not" class="sr8>com....(&ecurityPATH1_PARENT"line" eeeeeecccccccc        oac#Lrrom_path3/a>(&ecurityPATH11079EXECUTE10TE"line" namn>
L1ecurity10TE">10_RENT_UIDref=a>                       _not"9"5"commen9223">max_vef">
L21       max_v    [0] =      break; 
L21       max_v    [1])1cnd" class="sr9e8"cmad3/ef">
L21       mad3/are  mn>
L173">.1733/t matche........eeeeeee108 EXECUTE10 class="linS_IWUSR"line"10 cl>10 cV_MAJORref=a>                        break; envp3/validat1081EXECUTE10883/a> + 3a href="+codee10883>10 CHAR_DEVref=a>               _not" class="sr9"ass="lin9quot;struct fi1082EXECUTE10"line" namn>
L1ecurityMO10"li>10 ENT_PERMref=a>               ass="sr9 +code=en910 EV_MAJORref=a>       _di91href="+code=is_not" ccccccccccccccc1084EXECUTE1088href="+code=envp_coune1088h>10 odeeeeebreakp;316rns  break; 3 range 
L229"ecurit10EAD>10 odeeeeebreakp;316rns _not9"5"commen9223">min_vef">
L21       min_v    [0] <class8"comm82e" nmax_vef">
L21       max_v    [1]             break; 
L21       max_v    [0] =9coclass8"comm82e" nmin_vef">
L21       min_v    [1])1cndi  >
..........mad3/ef">
L21       mad3/are  mn>
L173">.1733/t matche........eeeeeee1086EXECUTE10 class="linS_IRGRP"line"10 cl>10 eeeeeeebreakp;316rns true 6013ontinueL233"validate_donss="sref">envp3/validat1087EXECUTE1088f="+code=tomoyo_scan_e1088f>10 odeeesr9 +code=en9
L1ecurity10TE">10 odeeeeebreakp;316rns returnlass8"comm82e" naaladef="security/toaalado9condi91href="+code=is_not" ccccccccccccccc1089EXECUTE10 class="linS_IWGRP"line"10 cl>10 RENT_UIDref=a_di91href="+code=is_not" ccccccccccccccc109 EXECUTE1088e=false" class="sref""1088e>1088ENT_UIDref=a break; 
L1ecurityMO10"li>108CHAR_DEVref=a_notass8"comm82e" nref">
L21       rspa
s=9comme923/a> + 3a edef="security/toe#spa
            tass8"comm82e" nargcef="security/toargcspa
 ||lass8"comm82e" nenvcef="security/toenvcare   mn>
L173">.1733/t matche........eeeeeee1092EXECUTE10 class="linS_IXGRP"line"10 cl>108ENT_PERMref=a>       returnlass8"comm82e" n">.2223scan_bprm/a>3spa
 class9">.2223scan_bprm    9"5"commen9223">ref">
L21       rspa
s=9comme923/a> + 3a edef="security/toe#spa
gidne" namn>
L229argcef="security/toargcspa
gidne" namn>
L229argvef">
L21       argvspa
gidne" namn>
L229envcef="security/toenvcare gidne" namn>
L229envp/a>3spa
 class9envpare  ndi91href="+code=is_not" ccccccccccccccc1093EXECUTE1089argv[] are not matche 1089a>108EV_MAJORref=areturnlass8"comm82e" n">
L1"bja hrs="line" namn>
L233"validate_donss="sref">envp3/validat109EV_MAJORremn>
L229"ecurityMODE_OWNremn>>108EV_MAJORrefe 601"lin9      _ elade_notv" c95defiUE_GROUP_9 claotv" ecurL229"p_coun /div>


 /div>


The origina hLXR software by thp;316rns trhttp://sourceforge.net_coojects/lxr">LXR IDreunV_Mcef="sthis experief=aa hrer1* r by 316rns trmailto:lxr@E_Gux.no3">xr@E_Gux.nocef=.
 /div>

>xr.E_Gux.no kindly hosted by 316rns trhttp://www.redpill-E_Gcoo.no3"Sedpill Lyo_>1
L21       max_v    [1 } envp3/4er ofUTE1uxr_un"ulidag=envp3/a>3spt9s services since 1995.p;316rns t/bodys t/html thp