How kernels recognize sin_zero (sockaddr_in structure) pushed

落爺英雄遲暮 提交于 2020-01-25 17:34:30

问题


According to https://stackoverflow.com/questions/28277079/need-i-push-sin-zero-sockaddr-in, it's my election reserve the space of sin_zero in the stack (sub esp, 8) or not. If I push, ok, I've pushed 16 bytes (sizeof(sockaddr_in)), but if I don't reserve the 8 bytes of sin_zero how kernels know?

struct sockaddr_in {
    short            sin_family;   // e.g. AF_INET, AF_INET6
    unsigned short   sin_port;     // e.g. htons(3490)
    struct in_addr   sin_addr;     // see struct in_addr, below
    char             sin_zero[8];  // zero this if you want to
}; 

来源:https://stackoverflow.com/questions/28280581/how-kernels-recognize-sin-zero-sockaddr-in-structure-pushed

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!