E
esanchezfo
Please tell me what is wrong, what is the cause of the segmentation?
#include <stdio.h>
#include <malloc.h>
void GetBuffer (unsigned char ** buffer)
{
* buffer = malloc (sizeof (unsigned char [3]));
* buffer [0] = 0x00; // Segmentation Fault
* buffer [1] = 0xA0;
* buffer [2] = 0xB0;
//printf ("Resultado de GetBuffer Hexa 0: %x, %x, %x\n", * buffer [0],
* buffer [1], * buffer [2]);
}
void ShowBuffer (unsigned char * buffer)
{
//printf ("Resultado de GetBuffer Hexa II: %x, %x, %x, %x, %x\n",
*buffer, buffer, buffer [0], buffer [1], buffer [2]);
}
int main ()
{
unsigned char * buffer = NULL;
GetBuffer (&buffer);
//printf ("Resultado de GetBuffer Hexa I: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Resultado de GetBuffer Hexa II: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Resultado de GetBuffer Hexa III: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Direccion de &buffer I: %x, %x\n", &buffer, buffer [0]);
//ShowBuffer (buffer);
return 0;
}
Thanks a lot.
#include <stdio.h>
#include <malloc.h>
void GetBuffer (unsigned char ** buffer)
{
* buffer = malloc (sizeof (unsigned char [3]));
* buffer [0] = 0x00; // Segmentation Fault
* buffer [1] = 0xA0;
* buffer [2] = 0xB0;
//printf ("Resultado de GetBuffer Hexa 0: %x, %x, %x\n", * buffer [0],
* buffer [1], * buffer [2]);
}
void ShowBuffer (unsigned char * buffer)
{
//printf ("Resultado de GetBuffer Hexa II: %x, %x, %x, %x, %x\n",
*buffer, buffer, buffer [0], buffer [1], buffer [2]);
}
int main ()
{
unsigned char * buffer = NULL;
GetBuffer (&buffer);
//printf ("Resultado de GetBuffer Hexa I: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Resultado de GetBuffer Hexa II: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Resultado de GetBuffer Hexa III: %x, %x, %x\n", buffer [0],
buffer [1], buffer [2]);
//printf ("Direccion de &buffer I: %x, %x\n", &buffer, buffer [0]);
//ShowBuffer (buffer);
return 0;
}
Thanks a lot.