[{"data":1,"prerenderedAt":1136},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fandroid-secure-coding-standard\u002Fadmin\u002Favoid-having-unreachable-code":28,"surround-\u002Fandroid-secure-coding-standard\u002Fadmin\u002Favoid-having-unreachable-code":568,"sidebar-android-secure-coding-standard":577},[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":554,"extension":555,"meta":556,"navigation":7,"path":564,"seo":565,"stem":566,"__hash__":567},"content\u002F3.android-secure-coding-standard\u002F7.admin\u002F05.avoid-having-unreachable-code.md","Avoid having unreachable code",{"type":32,"value":33,"toc":545},"minimark",[34,38,63,66,69,78,81,128,133,136,226,229,233,236,294,298,302,305,368,372,381,440,444,453,476,480,541],[35,36,30],"h1",{"id":37},"avoid-having-unreachable-code",[39,40,41,42,46,47,53,54,57,58,62],"p",{},"This rule was developed in part by Fatima Nadeem at the October 20-22, 2017 ",[43,44,45],"strong",{},"OurCS Workshop"," ( ",[48,49,50],"a",{"href":50,"rel":51},"http:\u002F\u002Fwww.cs.cmu.edu\u002Fourcs\u002Fregister.html",[52],"nofollow"," ).",[55,56],"br",{},"\nFor more information about this statement, see the ",[48,59,61],{"href":60},"\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fabout-the-ourcs-workshop","About the OurCS Workshop"," page.",[39,64,65],{},"Under Construction",[39,67,68],{},"This guideline is under construction.",[39,70,71,72,77],{},"When having unreachable code it allows programs to be vulnerable to attacks and threat, as discovered by ",[48,73,76],{"href":74,"rel":75},"https:\u002F\u002Fdl.acm.org\u002Fcitation.cfm?id=3104193",[52],"[Watanabe, Akiyama, Kanei, Shioji, Takata, Sun, Ishi, Shibahara, Yagi, Mori, 2017]"," .",[39,79,80],{},"Thus when creating new libraries or functions...",[82,83,84,104,120],"ol",{},[85,86,87,88,77,93],"li",{},"Be wary when using and placement of statements such as break, continue, and return, as they're indicators that segments of code are at risk of being unreachable; as stated by ",[48,89,92],{"href":90,"rel":91},"https:\u002F\u002Fwww.amazon.com\u002FCase-Based-Reasoning-Research-Development-International-ebook\u002Fdp\u002FB01LXGGOMN",[52],"[Goel, Diaz-Agudo, Roth-Berghofer, 2016]",[82,94,95],{},[85,96,97,98,103],{},"Use Structured Programming, explained by ",[48,99,102],{"href":100,"rel":101},"http:\u002F\u002Fhomepages.ihug.com.au\u002F~ijoyner\u002FIan_Joyner\u002FStructured_Programming.html",[52],"[Joyner 2013]"," , to help better the design of code therefore reducing the unnecessary use of break and continue;",[85,105,106,107],{},"Modularize code as much as possible rather than combining methods\u002Fmethods\u002Fclasses\u002Fetc. into one.",[82,108,109],{},[85,110,111,116,117,119],{},[48,112,115],{"href":113,"rel":114},"https:\u002F\u002Fdl-acm-org.myaccess.library.utoronto.ca\u002Fcitation.cfm?id=1950915&CFID=997304583&CFTOKEN=64779861",[52],"[ Chou, Chang, Kuo 2011]"," explains why this is an issue in their paper; they state ...",[55,118],{},"\n\"In order to support design reuse, a circuit may have multiple modes and configurations so that it can be used in different applications. When verifying a specific configuration, a substantial amount of unused code may be discovered because the code may be written for other modes.\"",[85,121,122,123,127],{},"Avoiding putting in dead code, such as empty function or placeholders, an issue stated by ",[48,124,126],{"href":113,"rel":125},[52],"[Chou, Chang, Kuo 2011]"," . If dead code is temporarily used as place holder, remove before release of app.",[129,130,132],"h2",{"id":131},"noncompliant-code-example","Noncompliant Code Example",[39,134,135],{},"This noncompliant code example shows an a line of code that is unreachable.",[137,138,140],"code-block",{"quality":139},"bad",[141,142,147],"pre",{"className":143,"code":144,"language":145,"meta":146,"style":146},"language-java shiki shiki-themes github-light github-dark monokai","int x = 1;\n \nif (x == 1){\n    return x;\n    x += 1;  \n}\n","java","",[148,149,150,174,180,197,206,220],"code",{"__ignoreMap":146},[151,152,155,159,163,167,171],"span",{"class":153,"line":154},"line",1,[151,156,158],{"class":157},"sq6CD","int",[151,160,162],{"class":161},"sMOD_"," x ",[151,164,166],{"class":165},"sC2Qs","=",[151,168,170],{"class":169},"s7F3e"," 1",[151,172,173],{"class":161},";\n",[151,175,177],{"class":153,"line":176},2,[151,178,179],{"class":161}," \n",[151,181,183,186,189,192,194],{"class":153,"line":182},3,[151,184,185],{"class":165},"if",[151,187,188],{"class":161}," (x ",[151,190,191],{"class":165},"==",[151,193,170],{"class":169},[151,195,196],{"class":161},"){\n",[151,198,200,203],{"class":153,"line":199},4,[151,201,202],{"class":165},"    return",[151,204,205],{"class":161}," x;\n",[151,207,209,212,215,217],{"class":153,"line":208},5,[151,210,211],{"class":161},"    x ",[151,213,214],{"class":165},"+=",[151,216,170],{"class":169},[151,218,219],{"class":161},";  \n",[151,221,223],{"class":153,"line":222},6,[151,224,225],{"class":161},"}\n",[39,227,228],{},"The statement following the return statement will never get executed thus created errors and bugs in the program which rely on that statement.",[129,230,232],{"id":231},"compliant-solution","Compliant Solution",[39,234,235],{},"In this compliant solution with reachable code.",[137,237,239],{"quality":238},"good",[141,240,242],{"className":143,"code":241,"language":145,"meta":146,"style":146},"int x = 1;\n\nif (x == 1){\n    x += 1;\n    return x; \n}\n",[148,243,244,256,261,273,283,290],{"__ignoreMap":146},[151,245,246,248,250,252,254],{"class":153,"line":154},[151,247,158],{"class":157},[151,249,162],{"class":161},[151,251,166],{"class":165},[151,253,170],{"class":169},[151,255,173],{"class":161},[151,257,258],{"class":153,"line":176},[151,259,260],{"emptyLinePlaceholder":7},"\n",[151,262,263,265,267,269,271],{"class":153,"line":182},[151,264,185],{"class":165},[151,266,188],{"class":161},[151,268,191],{"class":165},[151,270,170],{"class":169},[151,272,196],{"class":161},[151,274,275,277,279,281],{"class":153,"line":199},[151,276,211],{"class":161},[151,278,214],{"class":165},[151,280,170],{"class":169},[151,282,173],{"class":161},[151,284,285,287],{"class":153,"line":208},[151,286,202],{"class":165},[151,288,289],{"class":161}," x; \n",[151,291,292],{"class":153,"line":222},[151,293,225],{"class":161},[129,295,297],{"id":296},"exceptions","Exceptions",[129,299,301],{"id":300},"risk-assessment","Risk Assessment",[39,303,304],{},"Summary of risk assessment.",[306,307,308,327],"table",{},[309,310,311],"thead",{},[312,313,314,317,319,321,323,325],"tr",{},[315,316],"th",{},[315,318],{},[315,320],{},[315,322],{},[315,324],{},[315,326],{},[328,329,330,351],"tbody",{},[312,331,332,336,339,342,345,348],{},[333,334,335],"td",{},"Rule",[333,337,338],{},"Severity",[333,340,341],{},"Likelihood",[333,343,344],{},"Remediation Cost",[333,346,347],{},"Priority",[333,349,350],{},"Level",[312,352,353,356,359,362,364,366],{},[333,354,355],{},"TBD",[333,357,358],{},"Medium",[333,360,361],{},"Probable",[333,363,358],{},[333,365],{},[333,367],{},[129,369,371],{"id":370},"automated-detection","Automated Detection",[39,373,374,375,380],{},"Tools are available online, such as ",[48,376,379],{"href":377,"rel":378},"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fbuild\u002Fshrink-code.html",[52],"ProGuard"," , that help clean up code by removing unused statements that may have been a result of unreachable code.",[306,382,383,396],{},[384,385,386,390,392,394],"colgroup",{},[387,388],"col",{"style":389},"width: 25%",[387,391],{"style":389},[387,393],{"style":389},[387,395],{"style":389},[328,397,398,422],{},[312,399,402,407,412,417],{"className":400},[401],"header",[315,403,404],{},[39,405,406],{},"Tool",[315,408,409],{},[39,410,411],{},"Version",[315,413,414],{},[39,415,416],{},"Checker",[315,418,419],{},[39,420,421],{},"Description",[312,423,426,428,430,438],{"className":424},[425],"odd",[333,427,355],{},[333,429],{},[333,431,432],{},[39,433,434],{},[43,435,436],{},[55,437],{},[333,439],{},[129,441,443],{"id":442},"related-guidelines","Related Guidelines",[39,445,446,447,452],{},"Fill in the table below with at least one entry row, per ",[48,448,451],{"href":449,"rel":450},"https:\u002F\u002Fwww.securecoding.cert.org\u002Fconfluence\u002Fdisplay\u002Fandroid\u002FEditing+Related+Guidelines",[52],"these instructions"," , then remove this purple-font section.",[306,454,455,463],{},[309,456,457],{},[312,458,459,461],{},[315,460],{},[315,462],{},[328,464,465],{},[312,466,467,473],{},[333,468,469],{},[48,470,472],{"href":471},"\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fdrd10-x","DRD10-X. Do not release apps that are debuggable",[333,474,475],{},"Issues of bugs and discrepency within the code relates to this rule.",[129,477,479],{"id":478},"bibliography","Bibliography",[306,481,482,490],{},[309,483,484],{},[312,485,486,488],{},[315,487],{},[315,489],{},[328,491,492,504,516,528],{},[312,493,494,496],{},[333,495,126],{},[333,497,498,499,503],{},"Hong-Zu Chou, Kai-Hui Chang, Sy-Yen Kuo, ",[48,500,502],{"href":113,"rel":501},[52],"Facilitating unreachable code diagnosis and debugging"," , IEEE Press Piscataway, NJ, USA, 2011",[312,505,506,508],{},[333,507,76],{},[333,509,510,511,515],{},"Taukya Watanabe, Mitsuaki Akiyama, Fumihiro Kanei, Eitaro Shioji, Yuta Takata, So Bun, Yuta Ishi, Toshiki Shibahara, Takeshi Yagi, Tatsuya Mori, ",[48,512,514],{"href":74,"rel":513},[52],"Understanding the Origins of Mobile App Vulnerabilities: A Large-scale Measurement Study of Free and Paid Apps"," , IEEE Press Piscataway, NJ, USA, 2017",[312,517,518,520],{},[333,519,102],{},[333,521,522,523,527],{},"Ian Joyner, ",[48,524,526],{"href":100,"rel":525},[52],"Simply Structured Programming"," , 2013",[312,529,530,532],{},[333,531,92],{},[333,533,534,535,540],{},"Ashok Goel, M Belen Diaz-Agudo, Thomas Roth-Berghofer, ",[48,536,539],{"href":537,"rel":538},"https:\u002F\u002Fbooks.google.com\u002Fbooks?id=PQFSDQAAQBAJ&pg=PA146&lpg=PA146&dq=unreachable+code+research&source=bl&ots=Y7lRhfISJB&sig=IiATjjRk_qGUG-XXHYHGdBVINeA&hl=en&sa=X&ved=0ahUKEwj-jYHu-IHXAhWE6CYKHWt2DSsQ6AEIKDAA#v=onepage&q=unreachable%20code%20research&f=false",[52],"Case-Based Reasoning Research and Development: 24th International Conference"," , ICCBR 2016, Atlanta, GA, USA, 2016",[542,543,544],"style",{},"html pre.shiki code .sq6CD, html code.shiki .sq6CD{--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}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);}",{"title":146,"searchDepth":176,"depth":176,"links":546},[547,548,549,550,551,552,553],{"id":131,"depth":176,"text":132},{"id":231,"depth":176,"text":232},{"id":296,"depth":176,"text":297},{"id":300,"depth":176,"text":301},{"id":370,"depth":176,"text":371},{"id":442,"depth":176,"text":443},{"id":478,"depth":176,"text":479},"This rule was developed in part by Fatima Nadeem at the October 20-22, 2017 OurCS Workshop ( http:\u002F\u002Fwww.cs.cmu.edu\u002Fourcs\u002Fregister.html ).\nFor more information about this statement, see the About the OurCS Workshop page.","md",{"tags":557},[558,559,560,561,562,563],"rule","drd","incomplete","fio","android-applicable","general","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Favoid-having-unreachable-code",{"title":30,"description":554},"3.android-secure-coding-standard\u002F7.admin\u002F05.avoid-having-unreachable-code","GAldhUB9mZAUlh2AzIxDX0nlanOHHLxfEH11AT2NClA",[569,573],{"title":570,"path":571,"stem":572,"children":-1},"Android (DRD)","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fandroid-drd","3.android-secure-coding-standard\u002F7.admin\u002F04.android-drd",{"title":574,"path":575,"stem":576,"children":-1},"C Space Change History Log","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fc-space-change-history-log","3.android-secure-coding-standard\u002F7.admin\u002F06.c-space-change-history-log",[578],{"title":579,"path":580,"stem":581,"children":582},"SCI CERT Android Secure Coding Standard","\u002Fandroid-secure-coding-standard","3.android-secure-coding-standard\u002F1.index",[583,584,634,898,995,1057,1081],{"title":579,"path":580,"stem":581},{"title":585,"path":586,"stem":587,"children":588},"Front Matter","\u002Fandroid-secure-coding-standard\u002Ffront-matter","3.android-secure-coding-standard\u002F2.front-matter\u002F1.index",[589,590,612],{"title":585,"path":586,"stem":587},{"title":591,"path":592,"stem":593,"children":594},"Guidelines for Wiki Contributors","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fguidelines-for-wiki-contributors","3.android-secure-coding-standard\u002F2.front-matter\u002F2.guidelines-for-wiki-contributors\u002F1.index",[595,596,600,604,608],{"title":591,"path":592,"stem":593},{"title":597,"path":598,"stem":599},"Deprecations","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fguidelines-for-wiki-contributors\u002Fdeprecations","3.android-secure-coding-standard\u002F2.front-matter\u002F2.guidelines-for-wiki-contributors\u002F2.deprecations",{"title":601,"path":602,"stem":603},"Editing Automated Detection Information","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fguidelines-for-wiki-contributors\u002Fediting-automated-detection-information","3.android-secure-coding-standard\u002F2.front-matter\u002F2.guidelines-for-wiki-contributors\u002F3.editing-automated-detection-information",{"title":605,"path":606,"stem":607},"Editing-Related Guidelines","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fguidelines-for-wiki-contributors\u002Fediting-related-guidelines","3.android-secure-coding-standard\u002F2.front-matter\u002F2.guidelines-for-wiki-contributors\u002F4.editing-related-guidelines",{"title":609,"path":610,"stem":611},"Rules versus Recommendations","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fguidelines-for-wiki-contributors\u002Frules-versus-recommendations","3.android-secure-coding-standard\u002F2.front-matter\u002F2.guidelines-for-wiki-contributors\u002F5.rules-versus-recommendations",{"title":613,"path":614,"stem":615,"children":616},"Introduction","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fintroduction","3.android-secure-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.index",[617,618,622,626,630],{"title":613,"path":614,"stem":615},{"title":619,"path":620,"stem":621},"Introduction to Android-Only Rules","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fintroduction-to-android-only-rules","3.android-secure-coding-standard\u002F2.front-matter\u002F3.introduction\u002F02.introduction-to-android-only-rules",{"title":623,"path":624,"stem":625},"Introduction to C Rules and Recommendations","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fintroduction-to-c-rules-and-recommendations","3.android-secure-coding-standard\u002F2.front-matter\u002F3.introduction\u002F03.introduction-to-c-rules-and-recommendations",{"title":627,"path":628,"stem":629},"Introduction to Java Recommendations","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fintroduction-to-java-recommendations","3.android-secure-coding-standard\u002F2.front-matter\u002F3.introduction\u002F04.introduction-to-java-recommendations",{"title":631,"path":632,"stem":633},"Introduction to Java Rules","\u002Fandroid-secure-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fintroduction-to-java-rules","3.android-secure-coding-standard\u002F2.front-matter\u002F3.introduction\u002F05.introduction-to-java-rules",{"title":635,"path":636,"stem":637,"children":638},"Rules","\u002Fandroid-secure-coding-standard\u002Frules","3.android-secure-coding-standard\u002F3.rules\u002F01.index",[639,640,644,648,670,674,696,700,704,708,712,742,746,750,754,772,776,780,784,788,812,826,830,834,856,860,864,868,872,876,880],{"title":635,"path":636,"stem":637},{"title":641,"path":642,"stem":643},"Application Programming Interfaces (API)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fapplication-programming-interfaces-api","3.android-secure-coding-standard\u002F3.rules\u002F02.application-programming-interfaces-api",{"title":645,"path":646,"stem":647},"Characters and String (STR)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcharacters-and-string-str","3.android-secure-coding-standard\u002F3.rules\u002F03.characters-and-string-str",{"title":649,"path":650,"stem":651,"children":652},"Component Security (CPS)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcomponent-security-cps","3.android-secure-coding-standard\u002F3.rules\u002F04.component-security-cps\u002F1.index",[653,654,658,662,666],{"title":649,"path":650,"stem":651},{"title":655,"path":656,"stem":657},"DRD01-X. Limit the accessibility of an app's sensitive content provider","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcomponent-security-cps\u002Fdrd01-x","3.android-secure-coding-standard\u002F3.rules\u002F04.component-security-cps\u002F2.drd01-x",{"title":659,"path":660,"stem":661},"DRD07-X. Protect exported services with strong permissions","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcomponent-security-cps\u002Fdrd07-x","3.android-secure-coding-standard\u002F3.rules\u002F04.component-security-cps\u002F3.drd07-x",{"title":663,"path":664,"stem":665},"DRD08-J. Always canonicalize a URL received by a content provider","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcomponent-security-cps\u002Fdrd08-j","3.android-secure-coding-standard\u002F3.rules\u002F04.component-security-cps\u002F4.drd08-j",{"title":667,"path":668,"stem":669},"DRD09. Restrict access to sensitive activities","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcomponent-security-cps\u002Fdrd09-restrict-access-to-sensitive-activities","3.android-secure-coding-standard\u002F3.rules\u002F04.component-security-cps\u002F5.drd09-restrict-access-to-sensitive-activities",{"title":671,"path":672,"stem":673},"Concurrency (CON)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fconcurrency-con","3.android-secure-coding-standard\u002F3.rules\u002F05.concurrency-con",{"title":675,"path":676,"stem":677,"children":678},"Cryptography (CRP)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcryptography-crp","3.android-secure-coding-standard\u002F3.rules\u002F06.cryptography-crp\u002F1.index",[679,680,684,688,692],{"title":675,"path":676,"stem":677},{"title":681,"path":682,"stem":683},"DRD17-J. Do not use the Android cryptographic security provider encryption default for AES","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcryptography-crp\u002Fdrd17-j","3.android-secure-coding-standard\u002F3.rules\u002F06.cryptography-crp\u002F2.drd17-j",{"title":685,"path":686,"stem":687},"DRD18. Do not use the default behavior in a cryptographic library if it does not use recommended practices","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcryptography-crp\u002Fdrd18-do-not-use-the-default-behavior-in-a-cryptographic-library-if-it-does-not-use-recommended-practices","3.android-secure-coding-standard\u002F3.rules\u002F06.cryptography-crp\u002F3.drd18-do-not-use-the-default-behavior-in-a-cryptographic-library-if-it-does-not-use-recommended-practices",{"title":689,"path":690,"stem":691},"DRD24. Do not bundle OAuth security-related protocol logic or sensitive data into a relying party's app","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcryptography-crp\u002Fdrd24-do-not-bundle-oauth-security-related-protocol-logic-or-sensitive-data-into-a-relying-partys-app","3.android-secure-coding-standard\u002F3.rules\u002F06.cryptography-crp\u002F4.drd24-do-not-bundle-oauth-security-related-protocol-logic-or-sensitive-data-into-a-relying-partys-app",{"title":693,"path":694,"stem":695},"DRD25. Use constant-time encryption","\u002Fandroid-secure-coding-standard\u002Frules\u002Fcryptography-crp\u002Fdrd25-use-constant-time-encryption","3.android-secure-coding-standard\u002F3.rules\u002F06.cryptography-crp\u002F5.drd25-use-constant-time-encryption",{"title":697,"path":698,"stem":699},"Declarations and Initialization (DCL)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl","3.android-secure-coding-standard\u002F3.rules\u002F07.declarations-and-initialization-dcl",{"title":701,"path":702,"stem":703},"Environment (ENV)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fenvironment-env","3.android-secure-coding-standard\u002F3.rules\u002F08.environment-env",{"title":705,"path":706,"stem":707},"Error Handling (ERR)","\u002Fandroid-secure-coding-standard\u002Frules\u002Ferror-handling-err","3.android-secure-coding-standard\u002F3.rules\u002F09.error-handling-err",{"title":709,"path":710,"stem":711},"Expressions (EXP)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fexpressions-exp","3.android-secure-coding-standard\u002F3.rules\u002F10.expressions-exp",{"title":713,"path":714,"stem":715,"children":716},"File I\u002FO and Logging (FIO)","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F1.index",[717,718,722,726,730,734,738],{"title":713,"path":714,"stem":715},{"title":719,"path":720,"stem":721},"DRD04-J. Do not log sensitive information","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd04-j","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F2.drd04-j",{"title":723,"path":724,"stem":725},"DRD00. Do not store sensitive information on external storage (SD card) unless encrypted first","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd00-do-not-store-sensitive-information-on-external-storage-sd-card-unless-encrypted-first","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F3.drd00-do-not-store-sensitive-information-on-external-storage-sd-card-unless-encrypted-first",{"title":727,"path":728,"stem":729},"DRD11. Ensure that sensitive data is kept secure","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd11-ensure-that-sensitive-data-is-kept-secure","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F4.drd11-ensure-that-sensitive-data-is-kept-secure",{"title":731,"path":732,"stem":733},"DRD12. Do not trust data from world-writable files","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd12-do-not-trust-data-from-world-writable-files","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F5.drd12-do-not-trust-data-from-world-writable-files",{"title":735,"path":736,"stem":737},"DRD23. Do not use world readable or writeable to share files between apps","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd23-do-not-use-world-readable-or-writeable-to-share-files-between-apps","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F6.drd23-do-not-use-world-readable-or-writeable-to-share-files-between-apps",{"title":739,"path":740,"stem":741},"DRD28 Do not load world-writable libraries","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffile-io-and-logging-fio\u002Fdrd28-do-not-load-world-writable-libraries","3.android-secure-coding-standard\u002F3.rules\u002F11.file-io-and-logging-fio\u002F7.drd28-do-not-load-world-writable-libraries",{"title":743,"path":744,"stem":745},"Floating Point (FLP)","\u002Fandroid-secure-coding-standard\u002Frules\u002Ffloating-point-flp","3.android-secure-coding-standard\u002F3.rules\u002F12.floating-point-flp",{"title":747,"path":748,"stem":749},"Input Validation and Data Sanitization (IDS)","\u002Fandroid-secure-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids","3.android-secure-coding-standard\u002F3.rules\u002F13.input-validation-and-data-sanitization-ids",{"title":751,"path":752,"stem":753},"Integers (INT)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fintegers-int","3.android-secure-coding-standard\u002F3.rules\u002F14.integers-int",{"title":755,"path":756,"stem":757,"children":758},"Intent (ITT)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fintent-itt","3.android-secure-coding-standard\u002F3.rules\u002F15.intent-itt\u002F1.index",[759,760,764,768],{"title":755,"path":756,"stem":757},{"title":761,"path":762,"stem":763},"DRD03-J. Do not broadcast sensitive information using an implicit intent","\u002Fandroid-secure-coding-standard\u002Frules\u002Fintent-itt\u002Fdrd03-j","3.android-secure-coding-standard\u002F3.rules\u002F15.intent-itt\u002F2.drd03-j",{"title":765,"path":766,"stem":767},"DRD21-J. Always pass explicit intents to a PendingIntent","\u002Fandroid-secure-coding-standard\u002Frules\u002Fintent-itt\u002Fdrd21-j","3.android-secure-coding-standard\u002F3.rules\u002F15.intent-itt\u002F3.drd21-j",{"title":769,"path":770,"stem":771},"DRD06. Verify the caller of intents before acting on them","\u002Fandroid-secure-coding-standard\u002Frules\u002Fintent-itt\u002Fdrd06-verify-the-caller-of-intents-before-acting-on-them","3.android-secure-coding-standard\u002F3.rules\u002F15.intent-itt\u002F4.drd06-verify-the-caller-of-intents-before-acting-on-them",{"title":773,"path":774,"stem":775},"Java Native Interface (JNI)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fjava-native-interface-jni","3.android-secure-coding-standard\u002F3.rules\u002F16.java-native-interface-jni",{"title":777,"path":778,"stem":779},"Locking (LCK)","\u002Fandroid-secure-coding-standard\u002Frules\u002Flocking-lck","3.android-secure-coding-standard\u002F3.rules\u002F17.locking-lck",{"title":781,"path":782,"stem":783},"Memory Management (MEM)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmemory-management-mem","3.android-secure-coding-standard\u002F3.rules\u002F18.memory-management-mem",{"title":785,"path":786,"stem":787},"Methods (MET)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmethods-met","3.android-secure-coding-standard\u002F3.rules\u002F19.methods-met",{"title":789,"path":790,"stem":791,"children":792},"Miscellaneous (MSC)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc","3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F1.index",[793,794,796,800,804,808],{"title":789,"path":790,"stem":791},{"title":472,"path":471,"stem":795},"3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F2.drd10-x",{"title":797,"path":798,"stem":799},"DRD15-J. Consider privacy concerns when using Geolocation API","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fdrd15-j","3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F3.drd15-j",{"title":801,"path":802,"stem":803},"DRD26-J. For OAuth, use a secure Android method to deliver access tokens","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fdrd26-j","3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F4.drd26-j",{"title":805,"path":806,"stem":807},"DRD27-J. For OAuth, use an explicit intent method to deliver access tokens","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fdrd27-j","3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F5.drd27-j",{"title":809,"path":810,"stem":811},"DRD25. To request user permission for OAuth, identify relying party and its permissions scope","\u002Fandroid-secure-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fdrd25-to-request-user-permission-for-oauth-identify-relying-party-and-its-permissions-scope","3.android-secure-coding-standard\u002F3.rules\u002F20.miscellaneous-msc\u002F6.drd25-to-request-user-permission-for-oauth-identify-relying-party-and-its-permissions-scope",{"title":813,"path":814,"stem":815,"children":816},"Network - SSL\u002FTLS (NET)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fnetwork-ssltls-net","3.android-secure-coding-standard\u002F3.rules\u002F21.network-ssltls-net\u002F1.index",[817,818,822],{"title":813,"path":814,"stem":815},{"title":819,"path":820,"stem":821},"DRD23-J. Do not use loopback when handling sensitive data","\u002Fandroid-secure-coding-standard\u002Frules\u002Fnetwork-ssltls-net\u002Fdrd23-j","3.android-secure-coding-standard\u002F3.rules\u002F21.network-ssltls-net\u002F2.drd23-j",{"title":823,"path":824,"stem":825},"DRD19. Properly verify server certificate on SSL\u002FTLS","\u002Fandroid-secure-coding-standard\u002Frules\u002Fnetwork-ssltls-net\u002Fdrd19-properly-verify-server-certificate-on-ssltls","3.android-secure-coding-standard\u002F3.rules\u002F21.network-ssltls-net\u002F3.drd19-properly-verify-server-certificate-on-ssltls",{"title":827,"path":828,"stem":829},"Numeric Types and Operations (NUM)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fnumeric-types-and-operations-num","3.android-secure-coding-standard\u002F3.rules\u002F22.numeric-types-and-operations-num",{"title":831,"path":832,"stem":833},"Object Orientation (OBJ)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fobject-orientation-obj","3.android-secure-coding-standard\u002F3.rules\u002F23.object-orientation-obj",{"title":835,"path":836,"stem":837,"children":838},"Permission (PER)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpermission-per","3.android-secure-coding-standard\u002F3.rules\u002F24.permission-per\u002F1.index",[839,840,844,848,852],{"title":835,"path":836,"stem":837},{"title":841,"path":842,"stem":843},"DRD05-J. Do not grant URI permissions on implicit intents","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpermission-per\u002Fdrd05-j","3.android-secure-coding-standard\u002F3.rules\u002F24.permission-per\u002F2.drd05-j",{"title":845,"path":846,"stem":847},"DRD14-J. Check that a calling app has appropriate permissions before responding","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpermission-per\u002Fdrd14-j","3.android-secure-coding-standard\u002F3.rules\u002F24.permission-per\u002F3.drd14-j",{"title":849,"path":850,"stem":851},"DRD16-X. Explicitly define the exported attribute for private components","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpermission-per\u002Fdrd16-x","3.android-secure-coding-standard\u002F3.rules\u002F24.permission-per\u002F4.drd16-x",{"title":853,"path":854,"stem":855},"DRD20-C. Specify permissions when creating files via the NDK","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpermission-per\u002Fdrd20-c","3.android-secure-coding-standard\u002F3.rules\u002F24.permission-per\u002F5.drd20-c",{"title":857,"path":858,"stem":859},"Platform Security (SEC)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fplatform-security-sec","3.android-secure-coding-standard\u002F3.rules\u002F25.platform-security-sec",{"title":861,"path":862,"stem":863},"Preprocessor (PRE)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fpreprocessor-pre","3.android-secure-coding-standard\u002F3.rules\u002F26.preprocessor-pre",{"title":865,"path":866,"stem":867},"Serialization (SER)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fserialization-ser","3.android-secure-coding-standard\u002F3.rules\u002F27.serialization-ser",{"title":869,"path":870,"stem":871},"Thread APIs (THI)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fthread-apis-thi","3.android-secure-coding-standard\u002F3.rules\u002F28.thread-apis-thi",{"title":873,"path":874,"stem":875},"Thread-Safety Miscellaneous (TSM)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fthread-safety-miscellaneous-tsm","3.android-secure-coding-standard\u002F3.rules\u002F29.thread-safety-miscellaneous-tsm",{"title":877,"path":878,"stem":879},"Visibility and Atomicity (VNA)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fvisibility-and-atomicity-vna","3.android-secure-coding-standard\u002F3.rules\u002F30.visibility-and-atomicity-vna",{"title":881,"path":882,"stem":883,"children":884},"WebView (WBV)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fwebview-wbv","3.android-secure-coding-standard\u002F3.rules\u002F31.webview-wbv\u002F1.index",[885,886,890,894],{"title":881,"path":882,"stem":883},{"title":887,"path":888,"stem":889},"DRD02-J. Do not allow WebView to access sensitive local resource through file scheme","\u002Fandroid-secure-coding-standard\u002Frules\u002Fwebview-wbv\u002Fdrd02-j","3.android-secure-coding-standard\u002F3.rules\u002F31.webview-wbv\u002F2.drd02-j",{"title":891,"path":892,"stem":893},"DRD13. Do not provide addJavascriptInterface method access in a WebView which could contain untrusted content. (API level JELLY_BEAN or below)","\u002Fandroid-secure-coding-standard\u002Frules\u002Fwebview-wbv\u002Fdrd13-do-not-provide-addjavascriptinterface-method-access-in-a-webview-which-could-contain-untrusted-content-api-level-jelly_bean-or-below","3.android-secure-coding-standard\u002F3.rules\u002F31.webview-wbv\u002F3.drd13-do-not-provide-addjavascriptinterface-method-access-in-a-webview-which-could-contain-untrusted-content-api-level-jelly_bean-or-below",{"title":895,"path":896,"stem":897},"DRD22. Do not cache sensitive information","\u002Fandroid-secure-coding-standard\u002Frules\u002Fwebview-wbv\u002Fdrd22-do-not-cache-sensitive-information","3.android-secure-coding-standard\u002F3.rules\u002F31.webview-wbv\u002F4.drd22-do-not-cache-sensitive-information",{"title":899,"path":900,"stem":901,"children":902},"Recommendations","\u002Fandroid-secure-coding-standard\u002Frecommendations","3.android-secure-coding-standard\u002F4.recommendations\u002F01.index",[903,904,907,911,914,917,920,923,926,929,932,935,938,941,944,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992],{"title":899,"path":900,"stem":901},{"title":641,"path":905,"stem":906},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fapplication-programming-interfaces-api","3.android-secure-coding-standard\u002F4.recommendations\u002F02.application-programming-interfaces-api",{"title":908,"path":909,"stem":910},"Characters and Strings (STR)","\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fcharacters-and-strings-str","3.android-secure-coding-standard\u002F4.recommendations\u002F03.characters-and-strings-str",{"title":649,"path":912,"stem":913},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fcomponent-security-cps","3.android-secure-coding-standard\u002F4.recommendations\u002F04.component-security-cps",{"title":671,"path":915,"stem":916},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fconcurrency-con","3.android-secure-coding-standard\u002F4.recommendations\u002F05.concurrency-con",{"title":675,"path":918,"stem":919},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fcryptography-crp","3.android-secure-coding-standard\u002F4.recommendations\u002F06.cryptography-crp",{"title":697,"path":921,"stem":922},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl","3.android-secure-coding-standard\u002F4.recommendations\u002F07.declarations-and-initialization-dcl",{"title":701,"path":924,"stem":925},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fenvironment-env","3.android-secure-coding-standard\u002F4.recommendations\u002F08.environment-env",{"title":705,"path":927,"stem":928},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Ferror-handling-err","3.android-secure-coding-standard\u002F4.recommendations\u002F09.error-handling-err",{"title":709,"path":930,"stem":931},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fexpressions-exp","3.android-secure-coding-standard\u002F4.recommendations\u002F10.expressions-exp",{"title":713,"path":933,"stem":934},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Ffile-io-and-logging-fio","3.android-secure-coding-standard\u002F4.recommendations\u002F11.file-io-and-logging-fio",{"title":743,"path":936,"stem":937},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Ffloating-point-flp","3.android-secure-coding-standard\u002F4.recommendations\u002F12.floating-point-flp",{"title":747,"path":939,"stem":940},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids","3.android-secure-coding-standard\u002F4.recommendations\u002F13.input-validation-and-data-sanitization-ids",{"title":751,"path":942,"stem":943},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fintegers-int","3.android-secure-coding-standard\u002F4.recommendations\u002F14.integers-int",{"title":755,"path":945,"stem":946},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fintent-itt","3.android-secure-coding-standard\u002F4.recommendations\u002F15.intent-itt",{"title":773,"path":948,"stem":949},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fjava-native-interface-jni","3.android-secure-coding-standard\u002F4.recommendations\u002F16.java-native-interface-jni",{"title":777,"path":951,"stem":952},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Flocking-lck","3.android-secure-coding-standard\u002F4.recommendations\u002F17.locking-lck",{"title":781,"path":954,"stem":955},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fmemory-management-mem","3.android-secure-coding-standard\u002F4.recommendations\u002F18.memory-management-mem",{"title":785,"path":957,"stem":958},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fmethods-met","3.android-secure-coding-standard\u002F4.recommendations\u002F19.methods-met",{"title":789,"path":960,"stem":961},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc","3.android-secure-coding-standard\u002F4.recommendations\u002F20.miscellaneous-msc",{"title":813,"path":963,"stem":964},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fnetwork-ssltls-net","3.android-secure-coding-standard\u002F4.recommendations\u002F21.network-ssltls-net",{"title":827,"path":966,"stem":967},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fnumeric-types-and-operations-num","3.android-secure-coding-standard\u002F4.recommendations\u002F22.numeric-types-and-operations-num",{"title":831,"path":969,"stem":970},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fobject-orientation-obj","3.android-secure-coding-standard\u002F4.recommendations\u002F23.object-orientation-obj",{"title":835,"path":972,"stem":973},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fpermission-per","3.android-secure-coding-standard\u002F4.recommendations\u002F24.permission-per",{"title":857,"path":975,"stem":976},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fplatform-security-sec","3.android-secure-coding-standard\u002F4.recommendations\u002F25.platform-security-sec",{"title":861,"path":978,"stem":979},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fpreprocessor-pre","3.android-secure-coding-standard\u002F4.recommendations\u002F26.preprocessor-pre",{"title":865,"path":981,"stem":982},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fserialization-ser","3.android-secure-coding-standard\u002F4.recommendations\u002F27.serialization-ser",{"title":869,"path":984,"stem":985},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fthread-apis-thi","3.android-secure-coding-standard\u002F4.recommendations\u002F28.thread-apis-thi",{"title":873,"path":987,"stem":988},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fthread-safety-miscellaneous-tsm","3.android-secure-coding-standard\u002F4.recommendations\u002F29.thread-safety-miscellaneous-tsm",{"title":877,"path":990,"stem":991},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fvisibility-and-atomicity-vna","3.android-secure-coding-standard\u002F4.recommendations\u002F30.visibility-and-atomicity-vna",{"title":881,"path":993,"stem":994},"\u002Fandroid-secure-coding-standard\u002Frecommendations\u002Fwebview-wbv","3.android-secure-coding-standard\u002F4.recommendations\u002F31.webview-wbv",{"title":996,"path":997,"stem":998,"children":999},"By Language","\u002Fandroid-secure-coding-standard\u002Fby-language","3.android-secure-coding-standard\u002F5.by-language\u002F1.index",[1000,1001,1005,1027,1031,1053],{"title":996,"path":997,"stem":998},{"title":1002,"path":1003,"stem":1004},"Android Only","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fandroid-only","3.android-secure-coding-standard\u002F5.by-language\u002F2.android-only",{"title":1006,"path":1007,"stem":1008,"children":1009},"C Coding Language","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fc-coding-language","3.android-secure-coding-standard\u002F5.by-language\u002F3.c-coding-language\u002F1.index",[1010,1011,1015,1019,1023],{"title":1006,"path":1007,"stem":1008},{"title":1012,"path":1013,"stem":1014},"Applicable in Principle to Android (C Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fc-coding-language\u002Fapplicable-in-principle-to-android-c-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F3.c-coding-language\u002F2.applicable-in-principle-to-android-c-rulesrecomendations",{"title":1016,"path":1017,"stem":1018},"Applicable to Android (C Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fc-coding-language\u002Fapplicable-to-android-c-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F3.c-coding-language\u002F3.applicable-to-android-c-rulesrecomendations",{"title":1020,"path":1021,"stem":1022},"Not Applicable to Android (C Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fc-coding-language\u002Fnot-applicable-to-android-c-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F3.c-coding-language\u002F4.not-applicable-to-android-c-rulesrecomendations",{"title":1024,"path":1025,"stem":1026},"Unknown Applicability (C Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fc-coding-language\u002Funknown-applicability-c-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F3.c-coding-language\u002F5.unknown-applicability-c-rulesrecomendations",{"title":1028,"path":1029,"stem":1030},"C++ Coding Language","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fcpp-coding-language","3.android-secure-coding-standard\u002F5.by-language\u002F4.cpp-coding-language",{"title":1032,"path":1033,"stem":1034,"children":1035},"Java Coding Language","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fjava-coding-language","3.android-secure-coding-standard\u002F5.by-language\u002F5.java-coding-language\u002F1.index",[1036,1037,1041,1045,1049],{"title":1032,"path":1033,"stem":1034},{"title":1038,"path":1039,"stem":1040},"Applicable in Principle to Android (Java Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fjava-coding-language\u002Fapplicable-in-principle-to-android-java-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F5.java-coding-language\u002F2.applicable-in-principle-to-android-java-rulesrecomendations",{"title":1042,"path":1043,"stem":1044},"Applicable to Android (Java Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fjava-coding-language\u002Fapplicable-to-android-java-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F5.java-coding-language\u002F3.applicable-to-android-java-rulesrecomendations",{"title":1046,"path":1047,"stem":1048},"Not Applicable to Android (Java Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fjava-coding-language\u002Fnot-applicable-to-android-java-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F5.java-coding-language\u002F4.not-applicable-to-android-java-rulesrecomendations",{"title":1050,"path":1051,"stem":1052},"Unknown Applicability to Android (Java Rules\u002FRecomendations)","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fjava-coding-language\u002Funknown-applicability-to-android-java-rulesrecomendations","3.android-secure-coding-standard\u002F5.by-language\u002F5.java-coding-language\u002F5.unknown-applicability-to-android-java-rulesrecomendations",{"title":1054,"path":1055,"stem":1056},"XML","\u002Fandroid-secure-coding-standard\u002Fby-language\u002Fxml","3.android-secure-coding-standard\u002F5.by-language\u002F6.xml",{"title":1058,"path":1059,"stem":1060,"children":1061},"Back Matter","\u002Fandroid-secure-coding-standard\u002Fback-matter","3.android-secure-coding-standard\u002F6.back-matter\u002F1.index",[1062,1063,1067],{"title":1058,"path":1059,"stem":1060},{"title":1064,"path":1065,"stem":1066},"AA. Bibliography","\u002Fandroid-secure-coding-standard\u002Fback-matter\u002Faa-bibliography","3.android-secure-coding-standard\u002F6.back-matter\u002F2.aa-bibliography",{"title":1068,"path":1069,"stem":1070,"children":1071},"BB. Analyzers","\u002Fandroid-secure-coding-standard\u002Fback-matter\u002Fbb-analyzers","3.android-secure-coding-standard\u002F6.back-matter\u002F3.bb-analyzers\u002F1.index",[1072,1073,1077],{"title":1068,"path":1069,"stem":1070},{"title":1074,"path":1075,"stem":1076},"CodeSonar","\u002Fandroid-secure-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcodesonar","3.android-secure-coding-standard\u002F6.back-matter\u002F3.bb-analyzers\u002F2.codesonar",{"title":1078,"path":1079,"stem":1080},"CodeSonar_V","\u002Fandroid-secure-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcodesonar_v","3.android-secure-coding-standard\u002F6.back-matter\u002F3.bb-analyzers\u002F3.codesonar_v",{"title":1082,"path":1083,"stem":1084,"children":1085},"Admin","\u002Fandroid-secure-coding-standard\u002Fadmin","3.android-secure-coding-standard\u002F7.admin\u002F01.index",[1086,1087,1089,1093,1094,1095,1096,1100,1104,1108,1112,1116,1120,1124,1128,1132],{"title":1082,"path":1083,"stem":1084},{"title":61,"path":60,"stem":1088},"3.android-secure-coding-standard\u002F7.admin\u002F02.about-the-ourcs-workshop",{"title":1090,"path":1091,"stem":1092},"Android Applicability Summary","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fandroid-applicability-summary","3.android-secure-coding-standard\u002F7.admin\u002F03.android-applicability-summary",{"title":570,"path":571,"stem":572},{"title":30,"path":564,"stem":566},{"title":574,"path":575,"stem":576},{"title":1097,"path":1098,"stem":1099},"Copy of Rule Template","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fcopy-of-rule-template","3.android-secure-coding-standard\u002F7.admin\u002F07.copy-of-rule-template",{"title":1101,"path":1102,"stem":1103},"C++ Space Change History Log","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fcpp-space-change-history-log","3.android-secure-coding-standard\u002F7.admin\u002F08.cpp-space-change-history-log",{"title":1105,"path":1106,"stem":1107},"Dictionary of Labels","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fdictionary-of-labels","3.android-secure-coding-standard\u002F7.admin\u002F09.dictionary-of-labels",{"title":1109,"path":1110,"stem":1111},"How to Change Applicability When a Rules and Recommendations Change","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fhow-to-change-applicability-when-a-rules-and-recommendations-change","3.android-secure-coding-standard\u002F7.admin\u002F10.how-to-change-applicability-when-a-rules-and-recommendations-change",{"title":1113,"path":1114,"stem":1115},"Java Space Change History Log","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fjava-space-change-history-log","3.android-secure-coding-standard\u002F7.admin\u002F11.java-space-change-history-log",{"title":1117,"path":1118,"stem":1119},"Labels in this Space","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Flabels-in-this-space","3.android-secure-coding-standard\u002F7.admin\u002F12.labels-in-this-space",{"title":1121,"path":1122,"stem":1123},"Perl Space Change History Log","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fperl-space-change-history-log","3.android-secure-coding-standard\u002F7.admin\u002F13.perl-space-change-history-log",{"title":1125,"path":1126,"stem":1127},"Resources for new Android app secure coding rules and guidelines","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Fresources-for-new-android-app-secure-coding-rules-and-guidelines","3.android-secure-coding-standard\u002F7.admin\u002F14.resources-for-new-android-app-secure-coding-rules-and-guidelines",{"title":1129,"path":1130,"stem":1131},"Rule Template","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Frule-template","3.android-secure-coding-standard\u002F7.admin\u002F15.rule-template",{"title":1133,"path":1134,"stem":1135},"Rules Applicable for Both the Android Platform and Other Platforms","\u002Fandroid-secure-coding-standard\u002Fadmin\u002Frules-applicable-for-both-the-android-platform-and-other-platforms","3.android-secure-coding-standard\u002F7.admin\u002F16.rules-applicable-for-both-the-android-platform-and-other-platforms",1775657823527]