ndp_sock_open() sould probably set O_CLOEXEC, either via socket(2) or a separate fcntl(2) call depending on portability requirements.