Problem: Attempt to free a misaligned heap block. Possible causes: Passing an improperly aligned pointer to free() or realloc() ; changing the pointer returned by malloc . char *ptr = (char *)malloc(4); ptr++; free(ptr); /* Misaligned free */