Hi Michael,
> diff --git a/source3/smbd/process.c b/source3/smbd/process.c
> index 7605ad7..0f3e560 100644
> --- a/source3/smbd/process.c
> +++ b/source3/smbd/process.c
> @@ -1887,8 +1887,15 @@ received when we should release a specific IP
> static void release_ip(const char *ip, void *priv)
> {
> char addr[INET6_ADDRSTRLEN];
> + char *p;
this should be p = addr or p = NULL;
> - if (strcmp(client_socket_addr(get_client_fd(),addr,sizeof(addr)), ip)
> == 0) {
> + client_socket_addr(get_client_fd(),addr,sizeof(addr));
> +
> + if (strncmp("::ffff:", addr, 7) == 0) {
> + p = addr + 7;
> + }
>
> + if ((strcmp(p, ip) == 0) || (strcmp(addr, ip) == 0)) {
if p could be NULL based on the decision above we need to check this
before passing p to strcmp().
metze
signature.asc
Description: OpenPGP digital signature
