• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線(xiàn)忘掉

            [轉(zhuǎn)載]C語(yǔ)言防止緩沖區(qū)溢出方法

            C語(yǔ)言使用直接的內(nèi)存訪(fǎng)問(wèn),緩沖區(qū)溢出是經(jīng)常出現(xiàn)的安全問(wèn)題。
            下面將介紹常見(jiàn)的緩沖區(qū)溢出,及防止方法。

            1、判斷邊界
            例程序:
            void outstr(int a[10])
            {
                    for(i=0;a[i]!=0&&i<10;i++)
                    {
                            printf("%d\n",a[i]);
                    }
            }
            當(dāng)i=10時(shí),判斷i<10同時(shí)需要判斷a[i]!=0,
            此時(shí)a[10]已經(jīng)訪(fǎng)問(wèn)到非法區(qū)域,可能引起緩沖區(qū)溢出問(wèn)題。

            防止方法:將判斷條件分成幾條語(yǔ)句
            例:
            if(i<10){
                    if(a[i]!=0){
                            ...
                    }
            }

            2、字符串操作
            C語(yǔ)言的字符串庫(kù)沒(méi)有安全保護(hù),在使用時(shí)要特別小心。
            strcpy、strcat等函數(shù)操作時(shí)沒(méi)有檢查緩沖區(qū)大小,容易引起安全問(wèn)題。
            防止方法:
            1)使用strncpy、strncat,限制拷貝字符串長(zhǎng)度。
            2)或者是在strcpy、strcat之前檢查緩沖區(qū)大小是否滿(mǎn)足要求。

            3、free
            free后指針不是NULL。所以判斷指針是否為NULL并不能保證指針有效。
            防止方法:在free后重置指針。
            free(p);p=NULL;

            4、指針未初始化
            指針未初始化便引用。指針初始值未知,無(wú)法根據(jù)值判定指針是否有效。
            指針聲明后盡快初始化,如不能初始化為有效值,也要初始化為NULL。
            防止方法:每次使用指針,不能確定指針有效時(shí),先判斷指針是否為NULL。
             


            posted on 2007-07-22 02:16 旅途 閱讀(627) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): C/C++

            日韩亚洲欧美久久久www综合网| 精品国产99久久久久久麻豆| 久久综合久久综合九色| 国产精品成人99久久久久91gav| 久久久久一本毛久久久| 久久人人爽人人爽人人片AV麻烦 | 久久综合伊人77777麻豆| 久久久精品人妻一区二区三区蜜桃| 伊人久久大香线蕉av不卡| 国产精品一区二区久久精品无码| 亚洲精品第一综合99久久| 久久综合丁香激情久久| 亚洲精品乱码久久久久久蜜桃不卡 | 欧洲精品久久久av无码电影| 99久久精品国产毛片| 色欲久久久天天天综合网| 久久国产一片免费观看| 91精品国产综合久久精品| 老男人久久青草av高清| 久久久久无码精品| 国产精品热久久无码av| 狠狠色噜噜狠狠狠狠狠色综合久久| 亚州日韩精品专区久久久| 久久男人中文字幕资源站| 99久久国产亚洲高清观看2024| 91精品国产91久久久久福利| 麻豆亚洲AV永久无码精品久久| 久久经典免费视频| 久久精品国产男包| 久久经典免费视频| 久久精品久久久久观看99水蜜桃| 久久久久久国产精品无码下载| 国产精品禁18久久久夂久| 2021久久精品国产99国产精品| 久久精品国产亚洲AV无码娇色| 国产成人久久精品一区二区三区| 97精品依人久久久大香线蕉97| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 亚洲国产精品热久久| 伊人久久综在合线亚洲2019| 久久精品国产99国产电影网|