X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=authbind.git;a=blobdiff_plain;f=libauthbind.c;h=c8f34227388659c4743b8b706c77a269f34da761;hp=dd5c4841c314ff22f3d14768deb1e4926e9a4302;hb=cee28dccdc57922072a74c9c2e119dd43ef2815b;hpb=c6039ba83709d644380fe7fe0fa34f81cf61afc6 diff --git a/libauthbind.c b/libauthbind.c index dd5c484..c8f3422 100644 --- a/libauthbind.c +++ b/libauthbind.c @@ -149,7 +149,8 @@ int bind(int fd, const struct sockaddr *addr, socklen_t addrlen) { int status; if (addr->sa_family != AF_INET || addrlen != sizeof(struct sockaddr_in) || - ntohs(((struct sockaddr_in*)addr)->sin_port) >= IPPORT_RESERVED/2 || !geteuid()) + !geteuid() || ((struct sockaddr_in*)addr)->sin_port == 0 || + ntohs(((struct sockaddr_in*)addr)->sin_port) >= IPPORT_RESERVED/2) return old_bind(fd,addr,addrlen); sprintf(addrarg,"%08lx",