调用bind()时AF_UNIX套接字的正确长度
发布时间:2020-12-15 18:23:07 所属栏目:安全 来源:网络整理
导读:bind()需要一定长度的sockaddr结构. 现在,对于unix套接字,使用 sockaddr_un 当你填写sun_path成员时,计算长度的正确方法是什么?我见过多种方法: socklen_t len = sizeof(sockaddr_un);socklen_t len = offsetof(sockaddr_un,sun_path) + strlen(addr.sun_p
bind()需要一定长度的sockaddr结构.
现在,对于unix套接字,使用 sockaddr_un 当你填写sun_path成员时,计算长度的正确方法是什么?我见过多种方法: socklen_t len = sizeof(sockaddr_un); socklen_t len = offsetof(sockaddr_un,sun_path) + strlen(addr.sun_path); socklen_t len = offsetof(sockaddr_un,sun_path) + strlen(addr.sun_path) + 1; socklen_t len = sizeof(sockaddr.sun_family ) + strlen(addr.sun_path); 甚至其他方法.是否可以采取sizeof(sockaddr_un) – 或者正确的方法是什么?
sizeof(struct sockaddr_un)很好.
看一下manix unix(7).字段sun_path是一个字符数组,它是结构的一部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |