Valgrind и realloc

Подскажите, пожалуйста, почему Valgrind'у не нравится realloc во внешней функции real? В данном коде нет проверки равен ли указатель на массив NULL, но это ничего не меняет.

#include <stdio.h>
#include <stdlib.h>

/* заполняем массив данными */
void paste(int* a, int s) 
{
    for(int i=0; i<s; ++i)
    a[i]=i+1;
}

/* выводим на экран*/
void show(int* a, int s) 
{
    for(int i=0; i<s; ++i)
    printf("%d; ", a[i]);
    printf("\n");
}

/* расширяем массив realloc'ом */
void real(int* a, int s)
{
    a=(int*)realloc(a, s*sizeof(int));
}

int main()
{
    int s=3;

    int* a=(int*)malloc(s*sizeof(int));

    paste(a,s);

    show(a, s);

    s+=3;

    real(a,s);

    paste(a,s);

    show(a,s);

    free(a);    
}

Ответы (0 шт):