#include <stdio.h>
#include <stdlib.h>
#define TEST_STR "123"
#define TEST_STR_SIZE 3
static void update_callback(char *ptr)
{
ptr = (char *)malloc(sizeof(char) * TEST_STR_SIZE + 1);
ptr = TEST_STR;
ptr[TEST_STR_SIZE] = 0;
}
int main(void) {
char *nilstr = NULL;
update_callback(nilstr);
printf("%s\n", nilstr); // Segmentation fault
return 0;
}
static void update_callback(char **ptr)
{
*ptr = (char *)malloc(sizeof(char) * TEST_STR_SIZE + 1);
...