zoukankan      html  css  js  c++  java
  • 野指针和内存操作实例

    1.#include <stdio.h>
    #include <malloc.h>

    void f(int* p, int size)
    {
        int i = 0;
        
        for(i=0; i<size; i++)
        {
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        int* p = (int*)malloc(5 * sizeof(int));
        int i = 0;
        
        f(p, 5);
        
        for(i=0; i<5; i++)
        {
            p[i] = i; // OOPS!
        }
           
        return 0;
    }

    2.#include <stdio.h>
    #include <malloc.h>

    void f(int* p, int size)
    {
        int i = 0;
        
        for(i=0; i<size; i++)
        {
            p[i] = i;
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        int* p = (int*)malloc(5 * sizeof(int));
        
        f(p, 5);
        
        free(p); // OOPS!
           
        return 0;
    }

    3.#include <stdio.h>
    #include <malloc.h>

    void f(unsigned int size)
    {
        int* p = (int*)malloc(size*sizeof(int));
        int i = 0;
        
        if( size % 2 != 0 )
        {
            return; // OOPS!
        }
        
        for(i=0; i<size; i++)
        {
            p[i] = i;
            printf("%d ", p[i]);
        }
        
        free(p);
    }

    int main()
    {
        f(9);
        f(10);
           
        return 0;
    }
    4.#include <stdio.h>

    void f(int a[10])
    {
        int i = 0;
        
        for(i=0; i<10; i++)
        {
            a[i] = i; // OOPS!
            printf("%d ", a[i]);
        }
    }

    int main()
    {
        int a[5];
        
        f(a);
           
        return 0;
    }


  • 相关阅读:
    0环与3环通信
    NACTF Encoder
    内核空间与内核模块
    Reserve ctf SSE_KEYGENME VAX2学习
    Inf2Cat Tool Output: ........................ Signability test failed.
    wustctf2020_closed
    ciscn_2019_final_5
    ciscn_2019_en_3 tcache
    内核编程基础
    保护模式阶段测试说明
  • 原文地址:https://www.cnblogs.com/wxb20/p/6163260.html
Copyright © 2011-2022 走看看