錯誤分配的管理不是很困難。下面是一個示例(請參見清單 3):
清單 3. 未初始化的指針
void f2(int datum)
{
int *p2;
/* Uh-oh! No one has initialized p2. */
*p2 = datum;
...
}
關于此類錯誤的好消息是,它們一般具有顯著結果。在 AIX® 下,對未初始化指針的分配通常會立即導致 segmentation fault 錯誤。它的好處是任何此類錯誤都會被快速地檢測到;與花費數月時間才能確定且難以再現的錯誤相比,檢測此類錯誤的代價要小得多。
在此錯誤類型中存在多個變種。free() 釋放的內存比 malloc() 更頻繁(請參見清單 4):
清單 4. 兩個錯誤的內存釋放
文章來源于領測軟件測試網 http://www.kjueaiud.com/