Bonjour a vous tous,
voila j'ai un probleme pour ma fonction suivante, valgrind m'affiche une erreur par rapport a la taille.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
enum {FALSE, TRUE};
 
int alloc(int size, unsigned char *data)
{
 if((data = malloc(sizeof(unsigned char)*size))==NULL)
   {
    fprintf(stderr, "malloc error\n");
    return FALSE;
   }
 return TRUE;
}
 
int main(void)
{
 unsigned char *(*data);
 int size = 50;
 alloc(size,*data);
 return FALSE;
}
Mon but etant apres avoir compris cette fonction de faire une lecture d'un fichier et d'enregistrer mon fichier dans un unsigend char **
Car dans mon main je connais pas encore la taille de mon flux...
Je vais la connaitre dans mon fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
/* Speudo code... */
int main (int argc, char *argv[])
{
 unsigned char ** flux;
 LireFichier (*flux, argv[1]);
 return 0;
}
Mon idée de depart est elle bonne?
Ou se trouve mon erreur dans mon premier code?

Merci d'avance