]> granicus.if.org Git - libnl/commit
lib/socket: don't fail if no more local ports can be assigned in nl_socket_alloc
authorThomas Haller <thaller@redhat.com>
Wed, 9 Apr 2014 10:08:51 +0000 (12:08 +0200)
committerThomas Haller <thaller@redhat.com>
Tue, 6 May 2014 12:33:54 +0000 (14:33 +0200)
commit0271578987088210d7d2d68addbd5e8fe27d4383
tree53b3c3386c14efd292a7828f36f309f9815f789f
parent0fd510b3673f479637a6376db3d66dcb9f8911d0
lib/socket: don't fail if no more local ports can be assigned in nl_socket_alloc

By failing inside of nl_socket_alloc(), the user can not even work around
when running out of local ports. This patch changes that if there are no more
local ports, we set the port to UINT32_MAX. This is a consistent behavior
to calling nl_socket_set_local_port(sk, 0).

In general, since nl_socket_set_local_port() does not restict the generated
ports in any way we cannot assume to have a valid port. So the check in
the constructor was harmful and users who ever encountered it (because they
created 1024 libnl3 sockets) could not even work around it.

Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Thomas Haller <thaller@redhat.com>
lib/socket.c