<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            Obsolete

            ABSTRACT

            使用不推薦的或過時的函數可能表示這是一段被忽略的代碼。

            EXPLANATION

            隨著編程語言的發展,有時會棄用些一些方法,原因是:

            - 為了改進該編程語言

            - 對如何有效、安全地執行操作有了更深一步的
            了解

            - 某些操作的管理規則發生了變化

            在某一種編程語言中,人們通常會放棄使用某些方法,轉而采用更新的方法。在執行同樣的任務時,新方法會采用不同的處理方式,這種方式往往比原有的方法更合理。

            例:以下代碼構造了一個字符串對象,該對象來自字節數組和確定每個 16 位 Unicode 字符中前 8 位的值。


            ...
            String name = new String(nameBytes, highByte);
            ...


            在這個例子中,構造函數可能無法正確地將字節轉換成字符,這取決于由 nameBytes 表述的編碼字符串所使用的字符集。隨著用于編碼字符串的字符集的不斷發展,這個構造函數已經過時,取而代之的是新的構造函數。新構造函數使用了名為 charset 的參數,用以對字節進行編碼,從而實現字節的轉換。

            并非所有函數都會因為存在安全漏洞而被棄用或被取代。然而,出現被棄用的函數通常表示周圍代碼已經不起作用了,有可能處于不受維護的狀況。在過去很長一段時間內,人們并沒有將軟件安全放在首位,甚至都未曾考慮過。如果程序使用了不推薦的或過時的函數,在其附近就會潛伏著安全問題。

            REFERENCES

            [1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 477


            Copyright 2013 Fortify Software - All rights reserved.
            (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
            desc.semantic.java.obsolete

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线