내가 세그먼트 오류를 얻을 수 sendto()
분할 오류가()
u_char* create_pkt(u_char* pkt)
{
....
pkt = (u_char *)malloc(40);
...
return pkt
}
int main()
{
....
u_char* pkt;
create_pkt(pkt);
if (sendto(sd, pkt, 40, 0, (struct sockaddr *)&sin, sizeof(struct sockaddr)) < 0)
free(pkt);
}
디버깅 정보를 보여줍니다
Program received signal SIGSEGV, Segmentation fault.
0x0000003897482864 in __GI___libc_free (mem=0x7fffffffe010) at malloc.c:2986
에 어떤 문제가 있는지 이? 감사! 당신이 호출하는 함수에서 그것을 사용해야합니다 그래서
2986 ar_ptr = arena_for_chunk(p);
2986 ar_ptr = arena_for_chunk(p);
왜 'create_pkt()'가 인수를 사용하는 이유는 무엇입니까? – NPE