vfs_virusfilter: Fix CID 1428739 Buffer not null terminated
authorVolker Lendecke <vl@samba.org>
Tue, 30 Jan 2018 11:34:11 +0000 (12:34 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 30 Jan 2018 23:40:01 +0000 (00:40 +0100)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/modules/vfs_virusfilter_utils.c

index 628e0aef99a2cbe21172fa18fe566f0e90c10c44..d2616f058d58991c8b16446bc809517a2aaa859d 100644 (file)
@@ -148,10 +148,16 @@ bool virusfilter_io_connect_path(
        struct sockaddr_un addr;
        NTSTATUS status;
        int socket, bes_result, flags, ret;
+       size_t len;
 
        ZERO_STRUCT(addr);
        addr.sun_family = AF_UNIX;
-       strncpy(addr.sun_path, path, sizeof(addr.sun_path));
+
+       len = strlcpy(addr.sun_path, path, sizeof(addr.sun_path));
+       if (len >= sizeof(addr.sun_path)) {
+               io_h->stream = NULL;
+               return false;
+       }
 
        status = open_socket_out((struct sockaddr_storage *)&addr, 0,
                                 io_h->connect_timeout,