libnl: BUGFIX to support wpa_supplicant p2p_find

Close socket file descriptor when nl_msg freed
Correct nested attribute container size when closing nest
diff --git a/libnl_2/attr.c b/libnl_2/attr.c
index 9467668..d416350 100644
--- a/libnl_2/attr.c
+++ b/libnl_2/attr.c
@@ -87,8 +87,17 @@
 /* Finalize nesting of attributes. */
 int nla_nest_end(struct nl_msg *msg, struct nlattr *start)
 {
+	struct nlattr *container;
+
+	/* Adjust nested attribute container size */
+	container = (unsigned char *) start - sizeof(struct nlattr);
+	container->nla_len = (unsigned char *) \
+		nlmsg_tail(nlmsg_hdr(msg)) - (unsigned char *)container;
+
+	/* Fix attribute size */
 	start->nla_len = (unsigned char *) \
 		nlmsg_tail(nlmsg_hdr(msg)) - (unsigned char *)start;
+
 	return 0;
 }
 
diff --git a/libnl_2/socket.c b/libnl_2/socket.c
index 3bcf210..ce54f19 100644
--- a/libnl_2/socket.c
+++ b/libnl_2/socket.c
@@ -91,6 +91,7 @@
 void nl_socket_free(struct nl_sock *sk)
 {
 	nl_cb_put(sk->s_cb);
+	close(sk->s_fd);
 	free(sk);
 }