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

            旅途

            如果想飛得高,就該把地平線忘掉

            [轉載]C語言防止緩沖區溢出方法

            C語言使用直接的內存訪問,緩沖區溢出是經常出現的安全問題。
            下面將介紹常見的緩沖區溢出,及防止方法。

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

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

            2、字符串操作
            C語言的字符串庫沒有安全保護,在使用時要特別小心。
            strcpy、strcat等函數操作時沒有檢查緩沖區大小,容易引起安全問題。
            防止方法:
            1)使用strncpy、strncat,限制拷貝字符串長度。
            2)或者是在strcpy、strcat之前檢查緩沖區大小是否滿足要求。

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

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


            posted on 2007-07-22 02:16 旅途 閱讀(626) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            午夜肉伦伦影院久久精品免费看国产一区二区三区 | 思思久久99热免费精品6| 国产精品久久久久久久午夜片| 久久精品九九亚洲精品天堂| 国产成人AV综合久久| 欧美日韩中文字幕久久久不卡| 天天综合久久一二三区| 久久综合狠狠综合久久综合88 | 很黄很污的网站久久mimi色| 亚洲AV伊人久久青青草原| 亚洲AV日韩AV永久无码久久| 国产精品久久久久久福利69堂| 久久精品国产一区二区| 久久人人爽爽爽人久久久| 精品久久人人爽天天玩人人妻| 亚洲精品美女久久777777| 久久精品国产一区二区电影| 九九精品99久久久香蕉| 亚洲国产精品成人久久蜜臀| 狠狠色婷婷综合天天久久丁香| 国内精品久久久久影院亚洲| 国产精品99久久久久久www| 午夜人妻久久久久久久久| 久久亚洲高清综合| 国产精品99久久久久久宅男| 久久国产亚洲精品无码| 国产A级毛片久久久精品毛片| 久久久久亚洲AV成人网人人软件| 久久久久亚洲AV成人片| 久久精品国产男包| 无码任你躁久久久久久老妇| 精品一久久香蕉国产线看播放| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久午夜无码鲁丝片午夜精品| 91精品国产91久久久久久蜜臀| 精品蜜臀久久久久99网站| 色综合久久久久无码专区| 亚洲狠狠婷婷综合久久蜜芽| 狠狠精品久久久无码中文字幕| 国内精品九九久久精品| 亚洲愉拍99热成人精品热久久|