• <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++

            69久久精品无码一区二区| 香蕉久久永久视频| 99久久夜色精品国产网站| 久久亚洲国产精品五月天婷| 久久久久亚洲AV无码观看| 国产成人精品免费久久久久| 久久伊人五月天论坛| 99re这里只有精品热久久| 久久人人爽人人精品视频| 久久超乳爆乳中文字幕| 国产精品久久新婚兰兰| 久久精品成人| 久久精品国产亚洲欧美| 久久夜色精品国产欧美乱| 开心久久婷婷综合中文字幕| 久久亚洲综合色一区二区三区| 久久久久亚洲精品日久生情| 久久99精品免费一区二区| 久久久精品一区二区三区| 无码人妻少妇久久中文字幕蜜桃| 亚洲国产成人精品91久久久| 91精品日韩人妻无码久久不卡| 国产婷婷成人久久Av免费高清| 婷婷综合久久中文字幕蜜桃三电影 | 久久无码中文字幕东京热| 亚洲午夜精品久久久久久人妖| 久久99精品久久久久久hb无码| 久久精品免费一区二区| 久久久久亚洲AV无码观看| 久久婷婷色综合一区二区| 久久国产亚洲精品| 久久久久久午夜精品| 久久久精品久久久久影院| 久久亚洲中文字幕精品一区| 久久人人爽人人爽人人片AV不| 欧美精品九九99久久在观看| 亚洲国产视频久久| 久久精品人成免费| 一本伊大人香蕉久久网手机| 国产亚州精品女人久久久久久 | 狠狠色丁香久久综合婷婷|