[{"data":1,"prerenderedAt":1143},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids32-pl":28,"surround-\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids32-pl":761,"sidebar-sei-cert-perl-coding-standard":768},[4,8],{"title":5,"path":6,"_path":6,"fromAppConfig":7},"Home","\u002F",true,{"title":9,"path":10,"children":11,"_path":27,"fromAppConfig":7},"Coding Standards","\u002Fcoding-standards\u002F",[12,15,18,21,24],{"title":13,"path":14},"Android Coding Standard","\u002Fandroid-secure-coding-standard\u002F",{"title":16,"path":17},"C Coding Standard","\u002Fsei-cert-c-coding-standard\u002F",{"title":19,"path":20},"C++ Coding Standard","\u002Fsei-cert-cpp-coding-standard\u002F",{"title":22,"path":23},"Java Coding Standard","\u002Fsei-cert-oracle-coding-standard-for-java\u002F",{"title":25,"path":26},"Perl Coding Standard","\u002Fsei-cert-perl-coding-standard\u002F","\u002Fcoding-standards",{"id":29,"title":30,"body":31,"description":41,"extension":752,"meta":753,"navigation":7,"path":757,"seo":758,"stem":759,"__hash__":760},"content\u002F7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F4.ids32-pl.md","IDS32-PL. Validate any integer that is used as an array index",{"type":32,"value":33,"toc":745},"minimark",[34,38,42,227,238,241,246,253,399,406,410,417,549,553,556,622,626,696,700,708,716,719,741],[35,36,30],"h1",{"id":37},"ids32-pl-validate-any-integer-that-is-used-as-an-array-index",[39,40,41],"p",{},"Perl, unlike most other languages, uses arrays that are not declared with a particular length and that may grow and shrink in size as is required by subsequent code. In fact, when assigning a value to an element within the array, if the index provided is beyond the end of the array, the array grows to make it valid. Consider the following example:",[43,44,49],"pre",{"className":45,"code":46,"language":47,"meta":48,"style":48},"language-perl shiki shiki-themes github-light github-dark monokai","my @array = (1, 2, 3);            # array initialized\nprint \"Array size is $#array\\n\";  # 2 (index of last element)\n$array[5] = 0;                    # array grows so that reference is valid\nprint \"Array size is $#array\\n\";  # 5\nmy $value = $array[7];            # array unchanged + uninitialized value warning\n$value = $array[-7];              # array unchanged + uninitialized value warning\nif (exists $array[9]) {           # false, array unchanged\n  print \"That's a big array.\\n\";\n}\nprint \"Array size is $#array\\n\";  # still 5\n$value = $array[10][0];           # reading a value in list context grows array\nprint \"Array size is $#array\\n\";  # 10!\n","perl","",[50,51,52,69,96,105,123,134,142,160,176,182,200,209],"code",{"__ignoreMap":48},[53,54,57,61,65],"span",{"class":55,"line":56},"line",1,[53,58,60],{"class":59},"sC2Qs","my",[53,62,64],{"class":63},"sMOD_"," @array = (1, 2, 3);            ",[53,66,68],{"class":67},"s8-w5","# array initialized\n",[53,70,72,76,80,83,87,90,93],{"class":55,"line":71},2,[53,73,75],{"class":74},"sTrkL","print",[53,77,79],{"class":78},"sstjo"," \"Array size is ",[53,81,82],{"class":63},"$#array",[53,84,86],{"class":85},"s7F3e","\\n",[53,88,89],{"class":78},"\"",[53,91,92],{"class":63},";  ",[53,94,95],{"class":67},"# 2 (index of last element)\n",[53,97,99,102],{"class":55,"line":98},3,[53,100,101],{"class":63},"$array[5] = 0;                    ",[53,103,104],{"class":67},"# array grows so that reference is valid\n",[53,106,108,110,112,114,116,118,120],{"class":55,"line":107},4,[53,109,75],{"class":74},[53,111,79],{"class":78},[53,113,82],{"class":63},[53,115,86],{"class":85},[53,117,89],{"class":78},[53,119,92],{"class":63},[53,121,122],{"class":67},"# 5\n",[53,124,126,128,131],{"class":55,"line":125},5,[53,127,60],{"class":59},[53,129,130],{"class":63}," $value = $array[7];            ",[53,132,133],{"class":67},"# array unchanged + uninitialized value warning\n",[53,135,137,140],{"class":55,"line":136},6,[53,138,139],{"class":63},"$value = $array[-7];              ",[53,141,133],{"class":67},[53,143,145,148,151,154,157],{"class":55,"line":144},7,[53,146,147],{"class":59},"if",[53,149,150],{"class":63}," (",[53,152,153],{"class":74},"exists",[53,155,156],{"class":63}," $array[9]) {           ",[53,158,159],{"class":67},"# false, array unchanged\n",[53,161,163,166,169,171,173],{"class":55,"line":162},8,[53,164,165],{"class":74},"  print",[53,167,168],{"class":78}," \"That's a big array.",[53,170,86],{"class":85},[53,172,89],{"class":78},[53,174,175],{"class":63},";\n",[53,177,179],{"class":55,"line":178},9,[53,180,181],{"class":63},"}\n",[53,183,185,187,189,191,193,195,197],{"class":55,"line":184},10,[53,186,75],{"class":74},[53,188,79],{"class":78},[53,190,82],{"class":63},[53,192,86],{"class":85},[53,194,89],{"class":78},[53,196,92],{"class":63},[53,198,199],{"class":67},"# still 5\n",[53,201,203,206],{"class":55,"line":202},11,[53,204,205],{"class":63},"$value = $array[10][0];           ",[53,207,208],{"class":67},"# reading a value in list context grows array\n",[53,210,212,214,216,218,220,222,224],{"class":55,"line":211},12,[53,213,75],{"class":74},[53,215,79],{"class":78},[53,217,82],{"class":63},[53,219,86],{"class":85},[53,221,89],{"class":78},[53,223,92],{"class":63},[53,225,226],{"class":67},"# 10!\n",[39,228,229,230,233,234,237],{},"This automatic growth occurs only if the index provided is positive and the array value is being written, not read, and not passed to a testing function like ",[50,231,232],{},"exists()"," or ",[50,235,236],{},"defined()"," .",[39,239,240],{},"If an attacker is able to substitute a number to be used as an array index and provides the value 1000000000 (1 billion), then Perl will happily try to grow the array to 1 billion elements. Depending on the platform's capabilities, the attempt to grow the array might fail, or hang, or simply cause Perl to consume several gigabytes of memory for the lifetime of the array. Because a consequent denial of service could occur, attackers must not be permitted to control array indices.",[242,243,245],"h2",{"id":244},"noncompliant-code-example","Noncompliant Code Example",[39,247,248,249,252],{},"This noncompliant code example takes a set of users via standard input and adds them to an array, indexed by their UIDs. This program may, for instance, be fed the contents of the ",[50,250,251],{},"\u002Fetc\u002Fpasswd"," file.",[254,255,257],"code-block",{"quality":256},"bad",[43,258,260],{"className":45,"code":259,"language":47,"meta":48,"style":48},"my @users;\n\nwhile (\u003CSTDIN>) {\n  my ($username, $dummy, $uid) = split( \u002F:\u002F);\n  if (not (defined( $uid) and defined( $username))) {next;}\n  if (not $uid =~ \u002F^\\d*$\u002F) {next;}\n  $users[$uid] = $username;\n}\n\n# ... Work with @users\n",[50,261,262,269,274,288,313,346,381,386,390,394],{"__ignoreMap":48},[53,263,264,266],{"class":55,"line":56},[53,265,60],{"class":59},[53,267,268],{"class":63}," @users;\n",[53,270,271],{"class":55,"line":71},[53,272,273],{"emptyLinePlaceholder":7},"\n",[53,275,276,279,282,285],{"class":55,"line":98},[53,277,278],{"class":59},"while",[53,280,281],{"class":63}," (\u003C",[53,283,284],{"class":74},"STDIN",[53,286,287],{"class":63},">) {\n",[53,289,290,293,296,299,302,304,308,310],{"class":55,"line":107},[53,291,292],{"class":59},"  my",[53,294,295],{"class":63}," ($username, $dummy, $uid) = ",[53,297,298],{"class":74},"split",[53,300,301],{"class":63},"( ",[53,303,6],{"class":78},[53,305,307],{"class":306},"sFxd3",":",[53,309,6],{"class":78},[53,311,312],{"class":63},");\n",[53,314,315,318,320,323,325,328,331,334,337,340,343],{"class":55,"line":125},[53,316,317],{"class":59},"  if",[53,319,150],{"class":63},[53,321,322],{"class":59},"not",[53,324,150],{"class":63},[53,326,327],{"class":74},"defined",[53,329,330],{"class":63},"( $uid) ",[53,332,333],{"class":59},"and",[53,335,336],{"class":74}," defined",[53,338,339],{"class":63},"( $username))) {",[53,341,342],{"class":59},"next",[53,344,345],{"class":63},";}\n",[53,347,348,350,352,354,357,359,362,366,369,372,374,377,379],{"class":55,"line":136},[53,349,317],{"class":59},[53,351,150],{"class":63},[53,353,322],{"class":59},[53,355,356],{"class":63}," $uid =~ ",[53,358,6],{"class":78},[53,360,361],{"class":306},"^",[53,363,365],{"class":364},"sHuvb","\\d",[53,367,368],{"class":306},"*",[53,370,371],{"class":59},"$",[53,373,6],{"class":78},[53,375,376],{"class":63},") {",[53,378,342],{"class":59},[53,380,345],{"class":63},[53,382,383],{"class":55,"line":144},[53,384,385],{"class":63},"  $users[$uid] = $username;\n",[53,387,388],{"class":55,"line":162},[53,389,181],{"class":63},[53,391,392],{"class":55,"line":178},[53,393,273],{"emptyLinePlaceholder":7},[53,395,396],{"class":55,"line":184},[53,397,398],{"class":67},"# ... Work with @users\n",[39,400,401,402,405],{},"This code clearly skips input lines that do not contain a valid UID or user name. It also skips lines where the UID is not a positive number. However, a UID that is large might cause excessive growth of the ",[50,403,404],{},"@users"," array and provoke a denial of service.",[242,407,409],{"id":408},"compliant-solution","Compliant Solution",[39,411,412,413,416],{},"This compliant solution enforces a limit on how large a UID may be. Consequently, the array may not contain more than ",[50,414,415],{},"$max_uid"," elements.",[254,418,420],{"quality":419},"good",[43,421,423],{"className":45,"code":422,"language":47,"meta":48,"style":48},"my @users;\nmy $max_uid = 10000;\n\nwhile (\u003CSTDIN>) {\n  my ($username, $dummy, $uid) = split( \u002F:\u002F);\n  if (not (defined( $uid) and defined( $username))) {next;}\n  if (not $uid =~ \u002F^\\d*$\u002F) {next;}\n  if ($uid > $max_uid) {next;}\n  $users[$uid] = $username;\n}\n\n# ... Work with @users\n",[50,424,425,431,438,442,452,470,494,522,533,537,541,545],{"__ignoreMap":48},[53,426,427,429],{"class":55,"line":56},[53,428,60],{"class":59},[53,430,268],{"class":63},[53,432,433,435],{"class":55,"line":71},[53,434,60],{"class":59},[53,436,437],{"class":63}," $max_uid = 10000;\n",[53,439,440],{"class":55,"line":98},[53,441,273],{"emptyLinePlaceholder":7},[53,443,444,446,448,450],{"class":55,"line":107},[53,445,278],{"class":59},[53,447,281],{"class":63},[53,449,284],{"class":74},[53,451,287],{"class":63},[53,453,454,456,458,460,462,464,466,468],{"class":55,"line":125},[53,455,292],{"class":59},[53,457,295],{"class":63},[53,459,298],{"class":74},[53,461,301],{"class":63},[53,463,6],{"class":78},[53,465,307],{"class":306},[53,467,6],{"class":78},[53,469,312],{"class":63},[53,471,472,474,476,478,480,482,484,486,488,490,492],{"class":55,"line":136},[53,473,317],{"class":59},[53,475,150],{"class":63},[53,477,322],{"class":59},[53,479,150],{"class":63},[53,481,327],{"class":74},[53,483,330],{"class":63},[53,485,333],{"class":59},[53,487,336],{"class":74},[53,489,339],{"class":63},[53,491,342],{"class":59},[53,493,345],{"class":63},[53,495,496,498,500,502,504,506,508,510,512,514,516,518,520],{"class":55,"line":144},[53,497,317],{"class":59},[53,499,150],{"class":63},[53,501,322],{"class":59},[53,503,356],{"class":63},[53,505,6],{"class":78},[53,507,361],{"class":306},[53,509,365],{"class":364},[53,511,368],{"class":306},[53,513,371],{"class":59},[53,515,6],{"class":78},[53,517,376],{"class":63},[53,519,342],{"class":59},[53,521,345],{"class":63},[53,523,524,526,529,531],{"class":55,"line":162},[53,525,317],{"class":59},[53,527,528],{"class":63}," ($uid > $max_uid) {",[53,530,342],{"class":59},[53,532,345],{"class":63},[53,534,535],{"class":55,"line":178},[53,536,385],{"class":63},[53,538,539],{"class":55,"line":184},[53,540,181],{"class":63},[53,542,543],{"class":55,"line":202},[53,544,273],{"emptyLinePlaceholder":7},[53,546,547],{"class":55,"line":211},[53,548,398],{"class":67},[242,550,552],{"id":551},"risk-assessment","Risk Assessment",[39,554,555],{},"Using unsanitized array index values may exhaust memory and cause the program to terminate or hang.",[557,558,559,560,559,590],"table",{},"\n  ",[561,562,563,564,559],"thead",{},"\n    ",[565,566,567,568,567,572,567,575,567,578,567,581,567,584,567,587,563],"tr",{},"\n      ",[569,570,571],"th",{},"Rule",[569,573,574],{},"Severity",[569,576,577],{},"Likelihood",[569,579,580],{},"Detectable",[569,582,583],{},"Repairable",[569,585,586],{},"Priority",[569,588,589],{},"Level",[591,592,563,593,559],"tbody",{},[565,594,567,595,567,599,567,602,567,605,567,608,567,610,567,617,563],{},[596,597,598],"td",{},"IDS32-PL",[596,600,601],{},"low",[596,603,604],{},"likely",[596,606,607],{},"No",[596,609,607],{},[596,611,613],{"style":612},"color: #27ae60;",[614,615,616],"b",{},"P3",[596,618,619],{"style":612},[614,620,621],{},"L3",[242,623,625],{"id":624},"automated-detection","Automated Detection",[557,627,630,643],{"className":628},[629],"wrapped",[631,632,633,637,639,641],"colgroup",{},[634,635],"col",{"style":636},"width: 25%",[634,638],{"style":636},[634,640],{"style":636},[634,642],{"style":636},[591,644,645,665],{},[565,646,649,654,657,662],{"className":647},[648],"header",[569,650,651],{},[39,652,653],{},"Tool",[569,655,656],{},"Version",[569,658,659],{},[39,660,661],{},"Checker",[569,663,664],{},"Description",[565,666,669,678,688,693],{"className":667},[668],"odd",[596,670,671],{},[39,672,673],{},[674,675,677],"a",{"href":676},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fsecurity-reviewer-static-reviewer","Security Reviewer - Static Reviewer",[596,679,680],{},[681,682,685],"div",{"className":683},[684],"content-wrapper",[39,686,687],{},"6.02",[596,689,690],{},[39,691,692],{},"PERL_S 02",[596,694,695],{},"Fully implemented",[242,697,699],{"id":698},"bibliography","Bibliography",[39,701,702,703,707],{},"[ ",[674,704,706],{"href":705},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography#AA.Bibliography-Manpages","Wall 2011"," ]",[39,709,710],{},[674,711,715],{"href":712,"rel":713},"http:\u002F\u002Fperldoc.perl.org\u002Fperldata.html",[714],"nofollow","perldata",[717,718],"hr",{},[39,720,721,728,729,728,735],{},[674,722,724],{"href":723},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids31-pl",[725,726],"img",{"src":727},"\u002Fattachments\u002F88890562\u002F88892207.png"," ",[674,730,732],{"href":731},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002F",[725,733],{"src":734},"\u002Fattachments\u002F88890562\u002F88892209.png",[674,736,738],{"href":737},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids33-pl",[725,739],{"src":740},"\u002Fattachments\u002F88890562\u002F88892208.png",[742,743,744],"style",{},"html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .s8-w5, html code.shiki .s8-w5{--shiki-default:#6A737D;--shiki-dark:#6A737D;--shiki-sepia:#88846F}html pre.shiki code .sTrkL, html code.shiki .sTrkL{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#66D9EF}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .sFxd3, html code.shiki .sFxd3{--shiki-default:#032F62;--shiki-dark:#DBEDFF;--shiki-sepia:#E6DB74}html pre.shiki code .sHuvb, html code.shiki .sHuvb{--shiki-default:#22863A;--shiki-default-font-weight:bold;--shiki-dark:#85E89D;--shiki-dark-font-weight:bold;--shiki-sepia:#AE81FF;--shiki-sepia-font-weight:inherit}",{"title":48,"searchDepth":71,"depth":71,"links":746},[747,748,749,750,751],{"id":244,"depth":71,"text":245},{"id":408,"depth":71,"text":409},{"id":551,"depth":71,"text":552},{"id":624,"depth":71,"text":625},{"id":698,"depth":71,"text":699},"md",{"tags":754},[755,756],"ids","rule","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids32-pl",{"title":30,"description":41},"7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F4.ids32-pl","CqxzVqkNYyoH8-87YB5Hw_61gUabL2_SqhzMzgnvs_A",[762,765],{"title":763,"path":723,"stem":764,"children":-1},"IDS31-PL. Do not use the two-argument form of open()","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F3.ids31-pl",{"title":766,"path":737,"stem":767,"children":-1},"IDS33-PL. Sanitize untrusted data passed across a trust boundary","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F5.ids33-pl",[769],{"title":770,"path":771,"stem":772,"children":773},"SEI CERT Perl Coding Standard","\u002Fsei-cert-perl-coding-standard","7.sei-cert-perl-coding-standard\u002F1.index",[774,775,830,953,1101],{"title":770,"path":771,"stem":772},{"title":776,"path":777,"stem":778,"children":779},"Front Matter","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F1.index",[780,781,785],{"title":776,"path":777,"stem":778},{"title":782,"path":783,"stem":784},"Deprecations","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fdeprecations","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F2.deprecations",{"title":786,"path":787,"stem":788,"children":789},"Introduction","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.index",[790,791,795,799,803,807,811,815,818,822,826],{"title":786,"path":787,"stem":788},{"title":792,"path":793,"stem":794},"Scope","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.scope",{"title":796,"path":797,"stem":798},"Tool Selection and Validation","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Ftool-selection-and-validation","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F02.tool-selection-and-validation",{"title":800,"path":801,"stem":802},"Rules versus Recommendations","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frules-versus-recommendations","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F03.rules-versus-recommendations",{"title":804,"path":805,"stem":806},"Development Process","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fdevelopment-process","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F04.development-process",{"title":808,"path":809,"stem":810},"Usage","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F05.usage",{"title":812,"path":813,"stem":814},"System Qualities","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fsystem-qualities","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F06.system-qualities",{"title":552,"path":816,"stem":817},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frisk-assessment","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F07.risk-assessment",{"title":819,"path":820,"stem":821},"Source Code Validation","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fsource-code-validation","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F08.source-code-validation",{"title":823,"path":824,"stem":825},"Automatically Generated Code","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fautomatically-generated-code","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F09.automatically-generated-code",{"title":827,"path":828,"stem":829},"Acknowledgements","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgements","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F11.acknowledgements",{"title":831,"path":832,"stem":833,"children":834},"Rules","\u002Fsei-cert-perl-coding-standard\u002Frules","7.sei-cert-perl-coding-standard\u002F3.rules\u002F1.index",[835,836,854,880,890,911,915,929,939],{"title":831,"path":832,"stem":833},{"title":837,"path":838,"stem":839,"children":840},"Declarations and Initialization (DCL)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F1.index",[841,842,846,850],{"title":837,"path":838,"stem":839},{"title":843,"path":844,"stem":845},"DCL30-PL. Do not import deprecated modules","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F2.dcl30-pl",{"title":847,"path":848,"stem":849},"DCL31-PL. Do not overload reserved keywords or subroutines","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F3.dcl31-pl",{"title":851,"path":852,"stem":853},"DCL33-PL. Declare identifiers before using them","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl33-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F4.dcl33-pl",{"title":855,"path":856,"stem":857,"children":858},"Expressions (EXP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F1.index",[859,860,864,868,872,876],{"title":855,"path":856,"stem":857},{"title":861,"path":862,"stem":863},"EXP30-PL. Do not use deprecated or obsolete functions or modules","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F2.exp30-pl",{"title":865,"path":866,"stem":867},"EXP31-PL. Do not suppress or ignore exceptions","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F3.exp31-pl",{"title":869,"path":870,"stem":871},"EXP32-PL. Do not ignore function return values","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F4.exp32-pl",{"title":873,"path":874,"stem":875},"EXP33-PL. Do not invoke a function in a context for which it is not defined","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp33-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F5.exp33-pl",{"title":877,"path":878,"stem":879},"EXP35-PL. Use the correct operator type for comparing values","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp35-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F6.exp35-pl",{"title":881,"path":882,"stem":883,"children":884},"File Input and Output (FIO)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Ffile-input-and-output-fio","7.sei-cert-perl-coding-standard\u002F3.rules\u002F4.file-input-and-output-fio\u002F1.index",[885,886],{"title":881,"path":882,"stem":883},{"title":887,"path":888,"stem":889},"FIO30-PL. Use compatible character encodings when performing network or file I\u002FO","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Ffile-input-and-output-fio\u002Ffio30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F4.file-input-and-output-fio\u002F2.fio30-pl",{"title":891,"path":892,"stem":893,"children":894},"Input Validation and Data Sanitization (IDS)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F1.index",[895,896,900,901,902,903,907],{"title":891,"path":892,"stem":893},{"title":897,"path":898,"stem":899},"IDS30-PL. Exclude user input from format strings","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F2.ids30-pl",{"title":763,"path":723,"stem":764},{"title":30,"path":757,"stem":759},{"title":766,"path":737,"stem":767},{"title":904,"path":905,"stem":906},"IDS34-PL. Do not pass untrusted, unsanitized data to a command interpreter","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids34-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F6.ids34-pl",{"title":908,"path":909,"stem":910},"IDS35-PL. Do not invoke the eval form with a string argument","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids35-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F7.ids35-pl",{"title":912,"path":913,"stem":914},"Integers (INT)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F3.rules\u002F6.integers-int",{"title":916,"path":917,"stem":918,"children":919},"Miscellaneous (MSC)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F1.index",[920,921,925],{"title":916,"path":917,"stem":918},{"title":922,"path":923,"stem":924},"MSC31-PL. Do not embed global statements","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F2.msc31-pl",{"title":926,"path":927,"stem":928},"MSC32-PL. Do not provide a module's version value from outside the module","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F3.msc32-pl",{"title":930,"path":931,"stem":932,"children":933},"Object-Oriented Programming (OOP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fobject-oriented-programming-oop","7.sei-cert-perl-coding-standard\u002F3.rules\u002F8.object-oriented-programming-oop\u002F1.index",[934,935],{"title":930,"path":931,"stem":932},{"title":936,"path":937,"stem":938},"OOP32-PL. Prohibit indirect object call syntax","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F8.object-oriented-programming-oop\u002F2.oop32-pl",{"title":940,"path":941,"stem":942,"children":943},"Strings (STR)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F1.index",[944,945,949],{"title":940,"path":941,"stem":942},{"title":946,"path":947,"stem":948},"STR30-PL. Capture variables should be read only immediately after a successful regex match","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str\u002Fstr30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F2.str30-pl",{"title":950,"path":951,"stem":952},"STR31-PL. Do not pass string literals to functions expecting regexes","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str\u002Fstr31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F3.str31-pl",{"title":954,"path":955,"stem":956,"children":957},"Recommendations","\u002Fsei-cert-perl-coding-standard\u002Frecommendations","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F1.index",[958,959,988,1021,1034,1047,1060,1085,1098],{"title":954,"path":955,"stem":956},{"title":837,"path":960,"stem":961,"children":962},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F1.index",[963,964,968,972,976,980,984],{"title":837,"path":960,"stem":961},{"title":965,"path":966,"stem":967},"DCL00-PL. Do not use subroutine prototypes","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F2.dcl00-pl",{"title":969,"path":970,"stem":971},"DCL01-PL. Do not reuse variable names in subscopes","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F3.dcl01-pl",{"title":973,"path":974,"stem":975},"DCL02-PL. Any modified punctuation variable should be declared local","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl02-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F4.dcl02-pl",{"title":977,"path":978,"stem":979},"DCL03-PL. Do not read a foreach iterator variable after the loop has completed","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F5.dcl03-pl",{"title":981,"path":982,"stem":983},"DCL04-PL. Always initialize local variables","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F6.dcl04-pl",{"title":985,"path":986,"stem":987},"DCL05-PL. Prohibit Perl4 package names","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl05-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F7.dcl05-pl",{"title":855,"path":989,"stem":990,"children":991},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F1.index",[992,993,997,1001,1005,1009,1013,1017],{"title":855,"path":989,"stem":990},{"title":994,"path":995,"stem":996},"EXP00-PL. Do not return undef","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F2.exp00-pl",{"title":998,"path":999,"stem":1000},"EXP01-PL. Do not depend on the return value of functions that lack a return statement","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F3.exp01-pl",{"title":1002,"path":1003,"stem":1004},"EXP03-PL. Do not diminish the benefits of constants by assuming their values in expressions","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F4.exp03-pl",{"title":1006,"path":1007,"stem":1008},"EXP04-PL. Do not mix the early-precedence logical operators with late-precedence logical operators","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F5.exp04-pl",{"title":1010,"path":1011,"stem":1012},"EXP06-PL. Do not use an array in an implicit scalar context","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp06-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F6.exp06-pl",{"title":1014,"path":1015,"stem":1016},"EXP07-PL. Do not modify $_ in list or sorting functions","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp07-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F7.exp07-pl",{"title":1018,"path":1019,"stem":1020},"EXP08-PL. Do not use the one-argument form of select()","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp08-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F8.exp08-pl",{"title":881,"path":1022,"stem":1023,"children":1024},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F1.index",[1025,1026,1030],{"title":881,"path":1022,"stem":1023},{"title":1027,"path":1028,"stem":1029},"FIO00-PL. Do not use bareword file handles","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio\u002Ffio00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F2.fio00-pl",{"title":1031,"path":1032,"stem":1033},"FIO01-PL. Do not operate on files that can be modified by untrusted users","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio\u002Ffio01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F3.fio01-pl",{"title":891,"path":1035,"stem":1036,"children":1037},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F1.index",[1038,1039,1043],{"title":891,"path":1035,"stem":1036},{"title":1040,"path":1041,"stem":1042},"IDS00-PL. Canonicalize path names before validating them","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids\u002Fids00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F2.ids00-pl",{"title":1044,"path":1045,"stem":1046},"IDS01-PL. Use taint mode while being aware of its limitations","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids\u002Fids01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F3.ids01-pl",{"title":912,"path":1048,"stem":1049,"children":1050},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F1.index",[1051,1052,1056],{"title":912,"path":1048,"stem":1049},{"title":1053,"path":1054,"stem":1055},"INT00-PL. Do not prepend leading zeroes to integer literals","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int\u002Fint00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F2.int00-pl",{"title":1057,"path":1058,"stem":1059},"INT01-PL. Use small integers when precise computation is required","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int\u002Fint01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F3.int01-pl",{"title":916,"path":1061,"stem":1062,"children":1063},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F1.index",[1064,1065,1069,1073,1077,1081],{"title":916,"path":1061,"stem":1062},{"title":1066,"path":1067,"stem":1068},"MSC00-PL. Detect and remove dead code","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F2.msc00-pl",{"title":1070,"path":1071,"stem":1072},"MSC01-PL. Detect and remove unused variables","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F3.msc01-pl",{"title":1074,"path":1075,"stem":1076},"MSC02-PL. Run programs with full warnings and strict checking","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc02-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F4.msc02-pl",{"title":1078,"path":1079,"stem":1080},"MSC03-PL. Do not use select() to sleep","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F5.msc03-pl",{"title":1082,"path":1083,"stem":1084},"MSC04-PL. Do not use comma to separate statements","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F6.msc04-pl",{"title":930,"path":1086,"stem":1087,"children":1088},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F1.index",[1089,1090,1094],{"title":930,"path":1086,"stem":1087},{"title":1091,"path":1092,"stem":1093},"OOP00-PL. Do not signify inheritence at runtime","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop\u002Foop00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F2.oop00-pl",{"title":1095,"path":1096,"stem":1097},"OOP01-PL. Do not access private variables or subroutines in other packages","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop\u002Foop01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F3.oop01-pl",{"title":940,"path":1099,"stem":1100},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F9.strings-str",{"title":1102,"path":1103,"stem":1104,"children":1105},"Back Matter","\u002Fsei-cert-perl-coding-standard\u002Fback-matter","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F1.index",[1106,1107,1111,1139],{"title":1102,"path":1103,"stem":1104},{"title":1108,"path":1109,"stem":1110},"AA. Bibliography","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F2.aa-bibliography",{"title":1112,"path":1113,"stem":1114,"children":1115},"BB. Analyzers","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F1.index",[1116,1117,1121,1125,1129,1133,1135],{"title":1112,"path":1113,"stem":1114},{"title":1118,"path":1119,"stem":1120},"Critic","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcritic","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F2.critic",{"title":1122,"path":1123,"stem":1124},"Critic_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcritic_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F3.critic_v",{"title":1126,"path":1127,"stem":1128},"Lint","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Flint","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F4.lint",{"title":1130,"path":1131,"stem":1132},"Lint_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Flint_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F5.lint_v",{"title":677,"path":676,"stem":1134},"7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F6.security-reviewer-static-reviewer",{"title":1136,"path":1137,"stem":1138},"Security Reviewer - Static Reviewer_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fsecurity-reviewer-static-reviewer_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F7.security-reviewer-static-reviewer_v",{"title":1140,"path":1141,"stem":1142},"CC. Risk Assessments","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fcc-risk-assessments","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F4.cc-risk-assessments",1775657793710]