C語(yǔ)言安全編碼之?dāng)?shù)組索引位的合法范圍
C語(yǔ)言中的數(shù)組索引必須保證位于合法的范圍內(nèi)!
示例代碼如下:
enum {TABLESIZE = 100}; int *table = NULL; int insert_in_table(int pos, int value) { if(!table) { table = (int *)malloc(sizeof(int) *TABLESIZE); } if(pos >= TABLESIZE) { return -1; } table[pos] = value; return 0; }
其中:pos為int類(lèi)型,可能為負(fù)數(shù),這會(huì)導(dǎo)致在數(shù)組所引用的內(nèi)存邊界之外進(jìn)行寫(xiě)入
解決方案如下:
enum {TABLESIZE = 100}; int *table = NULL; int insert_in_table(size_t pos, int value) { if(!table) { table = (int *)malloc(sizeof(int) *TABLESIZE); } if(pos >= TABLESIZE) { return -1; } table[pos] = value; return 0; }
- C語(yǔ)言柔性數(shù)組實(shí)例詳解
- C語(yǔ)言構(gòu)建動(dòng)態(tài)數(shù)組完整實(shí)例
- C語(yǔ)言安全之?dāng)?shù)組長(zhǎng)度與指針實(shí)例解析
- C語(yǔ)言安全編碼數(shù)組記法的一致性
- c語(yǔ)言動(dòng)態(tài)數(shù)組示例
- c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)
- 約瑟夫環(huán)問(wèn)題(數(shù)組法)c語(yǔ)言實(shí)現(xiàn)
- C語(yǔ)言二維數(shù)組的處理實(shí)例
- 深入理解c語(yǔ)言數(shù)組
- C語(yǔ)言小程序 數(shù)組操作示例代碼
- C語(yǔ)言中全局?jǐn)?shù)組和局部數(shù)組的問(wèn)題
- C語(yǔ)言求連續(xù)最大子數(shù)組和的方法
相關(guān)文章
MATLAB算法技巧和實(shí)現(xiàn)斐波那契數(shù)列的解決思路
這篇文章主要介紹了MATLAB算法技巧和實(shí)現(xiàn)斐波那契數(shù)列,這篇主要說(shuō)一下自己在算法設(shè)計(jì)課上用matlab做的兩道算法題,題目解起來(lái)都比較簡(jiǎn)單,但是需要些技巧,需要的朋友可以參考下2022-12-12探討:程序在內(nèi)存中的分配(常量,局部變量,全局變量,程序代碼)問(wèn)題
本篇文章是對(duì)程序在的內(nèi)存中分配(常量,局部變量,全局變量,程序代碼)的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05OpenCV實(shí)現(xiàn)拼接圖像的簡(jiǎn)單方法
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)拼接圖像的簡(jiǎn)單方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05c++雙向鏈表操作示例(創(chuàng)建雙向鏈、雙向鏈表中查找數(shù)據(jù)、插入數(shù)據(jù)等)
這篇文章主要介紹了c++雙向鏈表操作示例,包括創(chuàng)建雙向鏈、刪除雙向鏈表、雙向鏈表中查找數(shù)據(jù)、插入數(shù)據(jù)等,需要的朋友可以參考下2014-05-05C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02C語(yǔ)言/C++中如何產(chǎn)生隨機(jī)數(shù)
這里要用到的是rand()函數(shù), srand()函數(shù),和time()函數(shù)。需要說(shuō)明的是,iostream頭文件中就有srand函數(shù)的定義,不需要再額外引入stdlib.h;而使用time()函數(shù)需要引入ctime頭文件2013-10-10C語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)貪吃蛇小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10解決vscode下調(diào)試c/c++程序一閃而過(guò)的問(wèn)題(Windows)
這篇文章主要介紹了解決vscode下調(diào)試c/c++程序一閃而過(guò)(Windows),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08