From: Alan T. DeKok Date: Mon, 22 Jan 2024 23:58:45 +0000 (-0500) Subject: clang on OSX does not produce nearly enough errors. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d50178eae7760e1dbcdb7f7debe2f2d1bc7ba12;p=thirdparty%2Ffreeradius-server.git clang on OSX does not produce nearly enough errors. CI produces many more errors and complaints. --- diff --git a/src/lib/bio/fd.c b/src/lib/bio/fd.c index 7f4702dfd0a..89292e13b35 100644 --- a/src/lib/bio/fd.c +++ b/src/lib/bio/fd.c @@ -22,13 +22,6 @@ * @copyright 2024 Network RADIUS SAS (legal@networkradius.com) */ -#ifdef __linux__ -/* - * for accept4() - */ -#define _GNU_SOURCE -#endif - #include #include @@ -206,7 +199,7 @@ retry: addr->socket.inet.dst_ipaddr = my->info.socket.inet.src_ipaddr; addr->socket.inet.dst_port = my->info.socket.inet.src_port; - (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, addr->socket.inet.src_port, + (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port, &sockaddr, salen); return rcode; } @@ -298,7 +291,6 @@ static ssize_t fd_fd_recvfromto_common(fr_bio_fd_t *my, void *packet_ctx, void * int tries = 0; ssize_t rcode; struct sockaddr_storage from; - socklen_t from_len; fr_bio_fd_packet_ctx_t *addr = fr_bio_fd_packet_ctx(my, packet_ctx); my->info.read_blocked = false; @@ -315,7 +307,7 @@ static ssize_t fd_fd_recvfromto_common(fr_bio_fd_t *my, void *packet_ctx, void * .msg_control = my->cbuf, .msg_controllen = sizeof(my->cbuf), .msg_name = &from, - .msg_namelen = &from_len, + .msg_namelen = sizeof(from), .msg_iov = &my->iov, .msg_iovlen = 1, .msg_flags = 0, @@ -327,7 +319,7 @@ retry: ADDR_INIT; (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port, - &from, from_len); + &from, my->msgh.msg_namelen); return rcode; } @@ -439,7 +431,7 @@ static ssize_t fr_bio_fd_sendfromto4(fr_bio_t *bio, void *packet_ctx, const void .msg_control = my->cbuf, // controllen is set below .msg_name = &to, - .msg_namelen = &to_len, + .msg_namelen = to_len, .msg_iov = &my->iov, .msg_iovlen = 1, .msg_flags = 0, @@ -667,7 +659,7 @@ static ssize_t fr_bio_fd_try_connect(fr_bio_fd_t *my) struct sockaddr_storage sockaddr; if (my->info.socket.af != AF_UNIX) { - rcode = fr_ipaddr_to_sockaddr(&sockaddr, &salen, &my->info.socket.inet.dst_ipaddr, &my->info.socket.inet.dst_port); + rcode = fr_ipaddr_to_sockaddr(&sockaddr, &salen, &my->info.socket.inet.dst_ipaddr, my->info.socket.inet.dst_port); } else { rcode = fr_filename_to_sockaddr((struct sockaddr_un *) &sockaddr, &salen, my->info.socket.unix.path); } @@ -830,7 +822,7 @@ retry: ADDR_INIT; - (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, addr->socket.inet.src_port, + (void) fr_ipaddr_from_sockaddr(&addr->socket.inet.src_ipaddr, &addr->socket.inet.src_port, &sockaddr, salen); addr->socket.inet.dst_ipaddr = my->info.socket.inet.src_ipaddr; @@ -951,7 +943,7 @@ fr_bio_t *fr_bio_fd_alloc(TALLOC_CTX *ctx, fr_bio_cb_funcs_t *cb, fr_socket_t co if ((my->info.socket.fd >= 0) && (fr_bio_fd_init(&my->bio, sock) < 0)) { talloc_free(my); - return -1; + return NULL; } } else { /* diff --git a/src/lib/bio/fd_open.c b/src/lib/bio/fd_open.c index e719c37dbed..e2d0a9802bc 100644 --- a/src/lib/bio/fd_open.c +++ b/src/lib/bio/fd_open.c @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -361,7 +362,7 @@ static int fr_bio_fd_socket_unix_mkdir(int *dirfd, char const **filename, fr_bio * * slashes[1] points to the slash after 'radiusd', which doesn't exist. */ - slashes[0] = '\0'; + *slashes[0] = '\0'; /* * If the grandparent doesn't exist, then we don't create it. @@ -379,8 +380,8 @@ static int fr_bio_fd_socket_unix_mkdir(int *dirfd, char const **filename, fr_bio /* * Create the parent directory. */ - slashes[0] = '/'; - slashes[1] = '\0'; + *slashes[0] = '/'; + *slashes[1] = '\0'; if (mkdirat(parent_fd, dir, 0700) < 0) { fr_strerror_printf("Failed creating directory %s: %s", dir, fr_syserror(errno)); close_parent: diff --git a/src/lib/bio/mem.c b/src/lib/bio/mem.c index e30b5f9bca0..3310a3129a2 100644 --- a/src/lib/bio/mem.c +++ b/src/lib/bio/mem.c @@ -619,8 +619,7 @@ fr_bio_t *fr_bio_mem_alloc(TALLOC_CTX *ctx, size_t read_size, size_t write_size, * * Writes pass straight through to the next bio. */ -fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_t *next, - fr_bio_verify_t verify, void *uctx) +fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_verify_t verify, fr_bio_t *next) { fr_bio_mem_t *my; diff --git a/src/lib/bio/mem.h b/src/lib/bio/mem.h index 338d9c03474..8d51a7a4c66 100644 --- a/src/lib/bio/mem.h +++ b/src/lib/bio/mem.h @@ -51,8 +51,7 @@ typedef fr_bio_verify_action_t (*fr_bio_verify_t)(fr_bio_t *bio, void *packet_ct fr_bio_t *fr_bio_mem_alloc(TALLOC_CTX *ctx, size_t read_size, size_t write_size, fr_bio_t *next) CC_HINT(nonnull); -fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_t *next, - fr_bio_verify_t verify, void *uctx) CC_HINT(nonnull(1,3,4)); +fr_bio_t *fr_bio_mem_packet_alloc(TALLOC_CTX *ctx, size_t read_size, fr_bio_verify_t verify, fr_bio_t *next) CC_HINT(nonnull); fr_bio_t *fr_bio_mem_source_alloc(TALLOC_CTX *ctx, size_t buffer_size, fr_bio_t *next) CC_HINT(nonnull);