On 2022-01-12 20:44:46 [+0100], To Adam D. Barratt wrote:
> > I wasn't really sure which of the changes made sense to mention, but
> > had a go at an initial draft for an announcement. Tweaks, updates or
> > complete rewrites welcome:
> > 
> > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > ClamAV is an AntiVirus toolkit for Unix.
> > 
> > Upstream published version 0.103.4.
> > 
> > This is a bug-fix release and an upstream LTS release. The changes are not
> > currently required for operation, but upstream strongly recommends that 
> > users
> > update.
> 
> Maybe adding something like
>   ", but upstream strongly recommends that users update for continued
>   support."
> 
> Upstream asks to use latest patch level version for support which
> includes access to the signature database.
> 
> Speaking of latest patch version: Upstream released today .5. Would you
> prefer to wait with this until I upload .5 to unstable and
> stable/oldstable for this (and avoiding a second announcement)?

I assume a direct update to .5 is preferred so I attached it here.
Regarding the wording: in [0] upstream says that they are going to
block 0.102 and earlier from database updates so we should be good. That
means they did not mention to block previous 0.103 releases so there is
probably no need to add stronger wording as I suggested.
The NEWS file mentions a CVE which looks harmless in typical mail server
setup since it requires an additional option for scanning.

I have it in unstable since the 12th and deployed the Buster version on
a server and had the regular testing for Bullseye.

[0] https://blog.clamav.net/2022/01/clamav-01035-and-01042-security-patch.html

> > Regards,
> > 
> > Adam

Sebastian
diff -Nru clamav-0.103.4+dfsg/clamav-milter/clamav-milter.c clamav-0.103.5+dfsg/clamav-milter/clamav-milter.c
--- clamav-0.103.4+dfsg/clamav-milter/clamav-milter.c	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/clamav-milter/clamav-milter.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2008-2013 Sourcefire, Inc.
  *
  *  Author: aCaB <a...@clamav.net>
@@ -96,7 +96,7 @@
 
     sigset_t sigset;
     struct sigaction act;
-    const char * user_name = NULL;
+    const char *user_name = NULL;
 
     cl_initialize_crypto();
 
@@ -122,7 +122,7 @@
         printf("\n");
         printf("                       Clam AntiVirus: Milter Mail Scanner %s\n", get_version());
         printf("           By The ClamAV Team: https://www.clamav.net/about.html#credits\n";);
-        printf("           (C) 2021 Cisco Systems, Inc.\n");
+        printf("           (C) 2022 Cisco Systems, Inc.\n");
         printf("\n");
         printf("    %s [-c <config-file>]\n\n", argv[0]);
         printf("\n");
@@ -158,7 +158,7 @@
     }
     free(pt);
 
-    if ((opt = optget(opts, "User"))->enabled){
+    if ((opt = optget(opts, "User"))->enabled) {
         user_name = opt->strarg;
     }
 
@@ -419,7 +419,7 @@
     if ((opt = optget(opts, "PidFile"))->enabled) {
         FILE *fd;
         mode_t old_umask = umask(0002);
-        int err = 0;
+        int err          = 0;
 
         if ((fd = fopen(opt->strarg, "w")) == NULL) {
             logg("!Can't save PID in file %s\n", opt->strarg);
@@ -434,14 +434,14 @@
         umask(old_umask);
 
 #ifndef _WIN32
-        if (0 == err){
+        if (0 == err) {
             /*If the file has already been created by a different user, it will just be
              * rewritten by us, but not change the ownership, so do that explicitly.
              */
-            if (0 == geteuid()){
-                struct passwd * pw = getpwuid(0);
-                int ret = lchown(opt->strarg, pw->pw_uid, pw->pw_gid);
-                if (ret){
+            if (0 == geteuid()) {
+                struct passwd *pw = getpwuid(0);
+                int ret           = lchown(opt->strarg, pw->pw_uid, pw->pw_gid);
+                if (ret) {
                     logg("!Can't change ownership of PID file %s '%s'\n", opt->strarg, strerror(errno));
                     err = 1;
                 }
@@ -449,7 +449,7 @@
         }
 #endif /*_WIN32*/
 
-        if (err){
+        if (err) {
             localnets_free();
             whitelist_free();
             logg_close();
@@ -460,7 +460,7 @@
 
 #ifndef _WIN32
     dropPrivRet = drop_privileges(user_name, logg_file);
-    if (dropPrivRet){
+    if (dropPrivRet) {
         optfree(opts);
         return dropPrivRet;
     }
@@ -468,7 +468,7 @@
     /* We have been daemonized, and initialization is done.  Signal
      * the parent process so that it can exit cleanly.
      */
-    if (parentPid != getpid()){ //we have been daemonized
+    if (parentPid != getpid()) { //we have been daemonized
         daemonize_signal_parent(parentPid);
     }
 #endif
diff -Nru clamav-0.103.4+dfsg/clamd/clamd.c clamav-0.103.5+dfsg/clamd/clamd.c
--- clamav-0.103.4+dfsg/clamd/clamd.c	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/clamd/clamd.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -80,7 +80,6 @@
 #include <sys/wait.h>
 #endif
 
-
 short debug_mode = 0, logok = 0;
 short foreground = -1;
 
@@ -89,7 +88,7 @@
     printf("\n");
     printf("                      Clam AntiVirus: Daemon %s\n", get_version());
     printf("           By The ClamAV Team: https://www.clamav.net/about.html#credits\n";);
-    printf("           (C) 2021 Cisco Systems, Inc.\n");
+    printf("           (C) 2022 Cisco Systems, Inc.\n");
     printf("\n");
     printf("    clamd [options]\n");
     printf("\n");
@@ -144,9 +143,9 @@
 #ifdef C_LINUX
     STATBUF sb;
 #endif
-    pid_t mainpid = 0;
-    mode_t old_umask = 0;
-    const char * user_name = NULL;
+    pid_t mainpid         = 0;
+    mode_t old_umask      = 0;
+    const char *user_name = NULL;
 
     if (check_flevel())
         exit(1);
@@ -156,8 +155,8 @@
     sa.sa_handler = SIG_IGN;
     sigaction(SIGHUP, &sa, NULL);
     sigaction(SIGUSR2, &sa, NULL);
-    if(!setlocale(LC_CTYPE, "")) {
-       mprintf("^Failed to set locale\n");
+    if (!setlocale(LC_CTYPE, "")) {
+        mprintf("^Failed to set locale\n");
     }
 #endif
 
@@ -214,7 +213,7 @@
     }
     free(pt);
 
-    if ((opt = optget(opts, "User"))->enabled){
+    if ((opt = optget(opts, "User"))->enabled) {
         user_name = opt->strarg;
     }
 
@@ -252,48 +251,47 @@
         logg_file = NULL;
     }
 
-
 #ifndef WIN32
-        /* fork into background */
-        if (foreground == -1) {
-            if (optget(opts, "Foreground")->enabled) {
-                foreground = 1;
-            } else {
-                foreground = 0;
-            }
+    /* fork into background */
+    if (foreground == -1) {
+        if (optget(opts, "Foreground")->enabled) {
+            foreground = 1;
+        } else {
+            foreground = 0;
         }
-        if (foreground == 0) {
-            int daemonizeRet = 0;
+    }
+    if (foreground == 0) {
+        int daemonizeRet = 0;
 #ifdef C_BSD
-            /* workaround for OpenBSD bug, see https://wwws.clamav.net/bugzilla/show_bug.cgi?id=885 */
-            for (ret = 0; (unsigned int)ret < nlsockets; ret++) {
-                if (fcntl(lsockets[ret], F_SETFL, fcntl(lsockets[ret], F_GETFL) | O_NONBLOCK) == -1) {
-                    logg("!fcntl for lsockets[] failed\n");
-                    close(lsockets[ret]);
-                    ret = 1;
-                    break;
-                }
+        /* workaround for OpenBSD bug, see https://wwws.clamav.net/bugzilla/show_bug.cgi?id=885 */
+        for (ret = 0; (unsigned int)ret < nlsockets; ret++) {
+            if (fcntl(lsockets[ret], F_SETFL, fcntl(lsockets[ret], F_GETFL) | O_NONBLOCK) == -1) {
+                logg("!fcntl for lsockets[] failed\n");
+                close(lsockets[ret]);
+                ret = 1;
+                break;
             }
+        }
 #endif
-            gengine = engine;
-            atexit(free_engine);
-            daemonizeRet = daemonize_parent_wait(user_name, logg_file);
-            if (daemonizeRet < 0){
-                logg("!daemonize() failed: %s\n", strerror(errno));
-                return 1;
-            }
-            gengine = NULL;
+        gengine = engine;
+        atexit(free_engine);
+        daemonizeRet = daemonize_parent_wait(user_name, logg_file);
+        if (daemonizeRet < 0) {
+            logg("!daemonize() failed: %s\n", strerror(errno));
+            return 1;
+        }
+        gengine = NULL;
 #ifdef C_BSD
-            for (ret = 0; (unsigned int)ret < nlsockets; ret++) {
-                if (fcntl(lsockets[ret], F_SETFL, fcntl(lsockets[ret], F_GETFL) & ~O_NONBLOCK) == -1) {
-                    logg("!fcntl for lsockets[] failed\n");
-                    close(lsockets[ret]);
-                    ret = 1;
-                    break;
-                }
+        for (ret = 0; (unsigned int)ret < nlsockets; ret++) {
+            if (fcntl(lsockets[ret], F_SETFL, fcntl(lsockets[ret], F_GETFL) & ~O_NONBLOCK) == -1) {
+                logg("!fcntl for lsockets[] failed\n");
+                close(lsockets[ret]);
+                ret = 1;
+                break;
             }
-#endif
         }
+#endif
+    }
 
 #endif
 
@@ -321,10 +319,10 @@
         /*If the file has already been created by a different user, it will just be
          * rewritten by us, but not change the ownership, so do that explicitly.
          */
-        if (0 == geteuid()){
-            struct passwd * pw = getpwuid(0);
-            int ret = lchown(opt->strarg, pw->pw_uid, pw->pw_gid);
-            if (ret){
+        if (0 == geteuid()) {
+            struct passwd *pw = getpwuid(0);
+            int ret           = lchown(opt->strarg, pw->pw_uid, pw->pw_gid);
+            if (ret) {
                 logg("!Can't change ownership of PID file %s '%s'\n", opt->strarg, strerror(errno));
                 exit(2);
             }
@@ -782,7 +780,7 @@
              * now, since everything is initialized.*/
 
             /*signal the parent process.*/
-            if (parentPid != getpid()){
+            if (parentPid != getpid()) {
                 daemonize_signal_parent(parentPid);
             }
 #endif
diff -Nru clamav-0.103.4+dfsg/clamd/server-th.c clamav-0.103.5+dfsg/clamd/server-th.c
--- clamav-0.103.4+dfsg/clamd/server-th.c	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/clamd/server-th.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm, Trog, Török Edvin
@@ -137,7 +137,8 @@
     if (conn->filename)
         free(conn->filename);
     logg("$Finished scanthread\n");
-    if (thrmgr_group_finished(conn->group, virus ? EXIT_OTHER : errors ? EXIT_ERROR : EXIT_OK)) {
+    if (thrmgr_group_finished(conn->group, virus ? EXIT_OTHER : errors ? EXIT_ERROR
+                                                                       : EXIT_OK)) {
         logg("$Scanthread: connection shut down (FD %d)\n", conn->sd);
         /* close connection if we were last in group */
         shutdown(conn->sd, 2);
diff -Nru clamav-0.103.4+dfsg/clamonacc/inotif/inotif.c clamav-0.103.5+dfsg/clamonacc/inotif/inotif.c
--- clamav-0.103.4+dfsg/clamonacc/inotif/inotif.c	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/clamonacc/inotif/inotif.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2019-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2019-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *
  *  Authors: Mickey Sola
  *
@@ -712,7 +712,7 @@
                                       const char *path, const char *child_path, const struct inotify_event *event, int wd, uint64_t in_mask)
 {
 
-    if (!(event->mask & IN_ISDIR)){
+    if (!(event->mask & IN_ISDIR)) {
         return;
     }
 
diff -Nru clamav-0.103.4+dfsg/CMakeLists.txt clamav-0.103.5+dfsg/CMakeLists.txt
--- clamav-0.103.4+dfsg/CMakeLists.txt	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/CMakeLists.txt	2022-01-11 00:17:45.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright (C) 2019-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+# Copyright (C) 2019-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 
 cmake_minimum_required( VERSION 3.12...3.13 )
 set(CMAKE_C_STANDARD 90)
@@ -15,7 +15,7 @@
 set(VERSION_SUFFIX "")
 
 project( ClamAV
-         VERSION "0.103.4"
+         VERSION "0.103.5"
          DESCRIPTION "ClamAV open source email, web, and end-point anti-virus toolkit." )
 
 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
diff -Nru clamav-0.103.4+dfsg/configure clamav-0.103.5+dfsg/configure
--- clamav-0.103.4+dfsg/configure	2021-11-02 16:48:14.000000000 +0100
+++ clamav-0.103.5+dfsg/configure	2022-01-11 00:18:10.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ClamAV 0.103.4.
+# Generated by GNU Autoconf 2.69 for ClamAV 0.103.5.
 #
 # Report bugs to <https://github.com/Cisco-Talos/clamav/issues>.
 #
@@ -592,8 +592,8 @@
 # Identity of this package.
 PACKAGE_NAME='ClamAV'
 PACKAGE_TARNAME='clamav'
-PACKAGE_VERSION='0.103.4'
-PACKAGE_STRING='ClamAV 0.103.4'
+PACKAGE_VERSION='0.103.5'
+PACKAGE_STRING='ClamAV 0.103.5'
 PACKAGE_BUGREPORT='https://github.com/Cisco-Talos/clamav/issues'
 PACKAGE_URL='https://www.clamav.net/'
 
@@ -1606,7 +1606,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ClamAV 0.103.4 to adapt to many kinds of systems.
+\`configure' configures ClamAV 0.103.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1687,7 +1687,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ClamAV 0.103.4:";;
+     short | recursive ) echo "Configuration of ClamAV 0.103.5:";;
    esac
   cat <<\_ACEOF
   --enable-dependency-tracking
@@ -1922,7 +1922,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ClamAV configure 0.103.4
+ClamAV configure 0.103.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2550,7 +2550,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ClamAV $as_me 0.103.4, which was
+It was created by ClamAV $as_me 0.103.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4308,7 +4308,7 @@
 
 # Define the identity of the package.
  PACKAGE='clamav'
- VERSION='0.103.4'
+ VERSION='0.103.5'
 
 
 # Some tools Automake needs.
@@ -6036,7 +6036,7 @@
 $as_echo "#define PACKAGE PACKAGE_NAME" >>confdefs.h
 
 
-VERSION="0.103.4"
+VERSION="0.103.5"
 
 major=`echo $PACKAGE_VERSION |cut -d. -f1 | sed -e "s/^0-9//g"`
 minor=`echo $PACKAGE_VERSION |cut -d. -f2 | sed -e "s/^0-9//g"`
@@ -31896,7 +31896,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ClamAV $as_me 0.103.4, which was
+This file was extended by ClamAV $as_me 0.103.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31963,7 +31963,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ClamAV config.status 0.103.4
+ClamAV config.status 0.103.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -34813,7 +34813,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ClamAV $as_me 0.103.4, which was
+This file was extended by ClamAV $as_me 0.103.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -34880,7 +34880,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ClamAV config.status 0.103.4
+ClamAV config.status 0.103.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -Nru clamav-0.103.4+dfsg/configure.ac clamav-0.103.5+dfsg/configure.ac
--- clamav-0.103.4+dfsg/configure.ac	2021-11-13 21:57:13.000000000 +0100
+++ clamav-0.103.5+dfsg/configure.ac	2022-01-12 20:53:22.000000000 +0100
@@ -1,4 +1,4 @@
-dnl   Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+dnl   Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 dnl   Copyright (C) 2007-2013 Sourcefire, Inc.
 dnl   Copyright (C) 2002-2007 Tomasz Kojm <tk...@clamav.net>
 dnl   socklen_t check (c) Alexander V. Lukyanov <l...@yars.free.net>
@@ -22,7 +22,7 @@
 
 dnl For a release change [devel] to the real version [0.xy]
 dnl also change VERSION below
-AC_INIT([ClamAV], [0.103.4], [https://github.com/Cisco-Talos/clamav/issues], [clamav], [https://www.clamav.net/])
+AC_INIT([ClamAV], [0.103.5], [https://github.com/Cisco-Talos/clamav/issues], [clamav], [https://www.clamav.net/])
 
 dnl put configure auxiliary into config
 AC_CONFIG_AUX_DIR([config])
diff -Nru clamav-0.103.4+dfsg/debian/changelog clamav-0.103.5+dfsg/debian/changelog
--- clamav-0.103.4+dfsg/debian/changelog	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/changelog	2022-01-13 21:49:00.000000000 +0100
@@ -1,3 +1,11 @@
+clamav (0.103.5+dfsg-0+deb11u1) bullseye; urgency=medium
+
+  * Import 0.103.5
+   - CVE-2022-20698 (Fix for invalid pointer read that may cause a crash).
+   - Update symbol file.
+
+ -- Sebastian Andrzej Siewior <sebast...@breakpoint.cc>  Thu, 13 Jan 2022 21:49:00 +0100
+
 clamav (0.103.4+dfsg-0+deb11u1) bullseye; urgency=medium
 
   * Import 0.103.4
diff -Nru clamav-0.103.4+dfsg/debian/.git-dpm clamav-0.103.5+dfsg/debian/.git-dpm
--- clamav-0.103.4+dfsg/debian/.git-dpm	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/.git-dpm	2022-01-13 21:49:00.000000000 +0100
@@ -1,8 +1,8 @@
 # see git-dpm(1) from git-dpm package
-a9367dca1bb602551ab6475b4a4582a6b1de45c5
-a9367dca1bb602551ab6475b4a4582a6b1de45c5
-86cddd22c95e08757ac21abef3807737d9b062df
-86cddd22c95e08757ac21abef3807737d9b062df
-clamav_0.103.4+dfsg.orig.tar.xz
-20d685a2186a7fb0622dce8a400247ff1e84e7a6
-7119704
+d98f95bd2562d8205e1e0a209c06c7706b9107fc
+d98f95bd2562d8205e1e0a209c06c7706b9107fc
+857db6f7fe6291d39090c77afdefa94d97161cb2
+857db6f7fe6291d39090c77afdefa94d97161cb2
+clamav_0.103.5+dfsg.orig.tar.xz
+6b767150c6b8cb9c8c6b11a2ae3df961fd65533f
+7121136
diff -Nru clamav-0.103.4+dfsg/debian/libclamav9.symbols clamav-0.103.5+dfsg/debian/libclamav9.symbols
--- clamav-0.103.4+dfsg/debian/libclamav9.symbols	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/libclamav9.symbols	2022-01-13 21:49:00.000000000 +0100
@@ -1,20 +1,20 @@
 libclamav.so.9 libclamav9 #MINVER#
 * Build-Depends-Package: libclamav-dev
- CLAMAV_PRIVATE@CLAMAV_PRIVATE 0.103.4
+ CLAMAV_PRIVATE@CLAMAV_PRIVATE 0.103.5
  CLAMAV_PUBLIC@CLAMAV_PUBLIC 0.101.0
- __cli_strcasestr@CLAMAV_PRIVATE 0.103.4
- __cli_strndup@CLAMAV_PRIVATE 0.103.4
- __cli_strnlen@CLAMAV_PRIVATE 0.103.4
- __cli_strnstr@CLAMAV_PRIVATE 0.103.4
- base64Flush@CLAMAV_PRIVATE 0.103.4
- blobAddData@CLAMAV_PRIVATE 0.103.4
- blobCreate@CLAMAV_PRIVATE 0.103.4
- blobDestroy@CLAMAV_PRIVATE 0.103.4
- cl_ASN1_GetTimeT@CLAMAV_PRIVATE 0.103.4
+ __cli_strcasestr@CLAMAV_PRIVATE 0.103.5
+ __cli_strndup@CLAMAV_PRIVATE 0.103.5
+ __cli_strnlen@CLAMAV_PRIVATE 0.103.5
+ __cli_strnstr@CLAMAV_PRIVATE 0.103.5
+ base64Flush@CLAMAV_PRIVATE 0.103.5
+ blobAddData@CLAMAV_PRIVATE 0.103.5
+ blobCreate@CLAMAV_PRIVATE 0.103.5
+ blobDestroy@CLAMAV_PRIVATE 0.103.5
+ cl_ASN1_GetTimeT@CLAMAV_PRIVATE 0.103.5
  cl_always_gen_section_hash@CLAMAV_PUBLIC 0.101.0
- cl_base64_decode@CLAMAV_PRIVATE 0.103.4
- cl_base64_encode@CLAMAV_PRIVATE 0.103.4
- cl_cleanup_crypto@CLAMAV_PRIVATE 0.103.4
+ cl_base64_decode@CLAMAV_PRIVATE 0.103.5
+ cl_base64_encode@CLAMAV_PRIVATE 0.103.5
+ cl_cleanup_crypto@CLAMAV_PRIVATE 0.103.5
  cl_countsigs@CLAMAV_PUBLIC 0.101.0
  cl_cvdfree@CLAMAV_PUBLIC 0.101.0
  cl_cvdhead@CLAMAV_PUBLIC 0.101.0
@@ -54,21 +54,21 @@
  cl_fmap_close@CLAMAV_PUBLIC 0.101.0
  cl_fmap_open_handle@CLAMAV_PUBLIC 0.101.0
  cl_fmap_open_memory@CLAMAV_PUBLIC 0.101.0
- cl_get_pkey_file@CLAMAV_PRIVATE 0.103.4
- cl_get_x509_from_mem@CLAMAV_PRIVATE 0.103.4
- cl_hash_data@CLAMAV_PRIVATE 0.103.4
+ cl_get_pkey_file@CLAMAV_PRIVATE 0.103.5
+ cl_get_x509_from_mem@CLAMAV_PRIVATE 0.103.5
+ cl_hash_data@CLAMAV_PRIVATE 0.103.5
  cl_hash_destroy@CLAMAV_PUBLIC 0.101.0
- cl_hash_file_fd@CLAMAV_PRIVATE 0.103.4
- cl_hash_file_fd_ctx@CLAMAV_PRIVATE 0.103.4
- cl_hash_file_fp@CLAMAV_PRIVATE 0.103.4
+ cl_hash_file_fd@CLAMAV_PRIVATE 0.103.5
+ cl_hash_file_fd_ctx@CLAMAV_PRIVATE 0.103.5
+ cl_hash_file_fp@CLAMAV_PRIVATE 0.103.5
  cl_hash_init@CLAMAV_PUBLIC 0.101.0
  cl_init@CLAMAV_PUBLIC 0.101.0
- cl_initialize_crypto@CLAMAV_PRIVATE 0.103.4
+ cl_initialize_crypto@CLAMAV_PRIVATE 0.103.5
  cl_load@CLAMAV_PUBLIC 0.101.0
- cl_load_cert@CLAMAV_PRIVATE 0.103.4
- cl_load_crl@CLAMAV_PRIVATE 0.103.4
+ cl_load_cert@CLAMAV_PRIVATE 0.103.5
+ cl_load_crl@CLAMAV_PRIVATE 0.103.5
  cl_retdbdir@CLAMAV_PUBLIC 0.101.0
- cl_retflevel@CLAMAV_PUBLIC 0.103.4
+ cl_retflevel@CLAMAV_PUBLIC 0.103.5
  cl_retver@CLAMAV_PUBLIC 0.101.0
  cl_scandesc@CLAMAV_PUBLIC 0.101.0
  cl_scandesc_callback@CLAMAV_PUBLIC 0.101.0
@@ -76,196 +76,196 @@
  cl_scanfile_callback@CLAMAV_PUBLIC 0.101.0
  cl_scanmap_callback@CLAMAV_PUBLIC 0.101.0
  cl_set_clcb_msg@CLAMAV_PUBLIC 0.101.0
- cl_sha1@CLAMAV_PRIVATE 0.103.4
- cl_sha256@CLAMAV_PRIVATE 0.103.4
- cl_sign_data@CLAMAV_PRIVATE 0.103.4
- cl_sign_data_keyfile@CLAMAV_PRIVATE 0.103.4
- cl_sign_file_fd@CLAMAV_PRIVATE 0.103.4
- cl_sign_file_fp@CLAMAV_PRIVATE 0.103.4
+ cl_sha1@CLAMAV_PRIVATE 0.103.5
+ cl_sha256@CLAMAV_PRIVATE 0.103.5
+ cl_sign_data@CLAMAV_PRIVATE 0.103.5
+ cl_sign_data_keyfile@CLAMAV_PRIVATE 0.103.5
+ cl_sign_file_fd@CLAMAV_PRIVATE 0.103.5
+ cl_sign_file_fp@CLAMAV_PRIVATE 0.103.5
  cl_statchkdir@CLAMAV_PUBLIC 0.101.0
  cl_statfree@CLAMAV_PUBLIC 0.101.0
  cl_statinidir@CLAMAV_PUBLIC 0.101.0
  cl_strerror@CLAMAV_PUBLIC 0.101.0
  cl_update_hash@CLAMAV_PUBLIC 0.101.0
- cl_validate_certificate_chain@CLAMAV_PRIVATE 0.103.4
- cl_validate_certificate_chain_ts_dir@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_fd@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_fd_x509@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_fd_x509_keyfile@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_hash@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_hash_x509@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_hash_x509_keyfile@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_x509@CLAMAV_PRIVATE 0.103.4
- cl_verify_signature_x509_keyfile@CLAMAV_PRIVATE 0.103.4
- cli_ac_buildtrie@CLAMAV_PRIVATE 0.103.4
- cli_ac_chklsig@CLAMAV_PRIVATE 0.103.4
- cli_ac_free@CLAMAV_PRIVATE 0.103.4
- cli_ac_freedata@CLAMAV_PRIVATE 0.103.4
- cli_ac_init@CLAMAV_PRIVATE 0.103.4
- cli_ac_initdata@CLAMAV_PRIVATE 0.103.4
- cli_ac_scanbuff@CLAMAV_PRIVATE 0.103.4
- cli_basename@CLAMAV_PRIVATE 0.103.4
- cli_bm_free@CLAMAV_PRIVATE 0.103.4
- cli_bm_init@CLAMAV_PRIVATE 0.103.4
- cli_bm_scanbuff@CLAMAV_PRIVATE 0.103.4
- cli_build_regex_list@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_alloc@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_clear@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_destroy@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_getresult_int@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_set_trace@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_setfile@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_setfuncid@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_setparam_int@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_context_setparam_ptr@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_debug@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_debug_printsrc@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_describe@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_destroy@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_done@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_init@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_load@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_prepare2@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_printversion@CLAMAV_PRIVATE 0.103.4
- cli_bytecode_run@CLAMAV_PRIVATE 0.103.4
- cli_bytefunc_describe@CLAMAV_PRIVATE 0.103.4
- cli_byteinst_describe@CLAMAV_PRIVATE 0.103.4
- cli_bytetype_describe@CLAMAV_PRIVATE 0.103.4
- cli_bytevalue_describe@CLAMAV_PRIVATE 0.103.4
- cli_calloc@CLAMAV_PRIVATE 0.103.4
- cli_check_auth_header@CLAMAV_PRIVATE 0.103.4
- cli_chomp@CLAMAV_PRIVATE 0.103.4
- cli_codepage_to_utf8@CLAMAV_PRIVATE 0.103.4
- cli_ctime@CLAMAV_PRIVATE 0.103.4
- cli_cvdunpack@CLAMAV_PRIVATE 0.103.4
- cli_dbgmsg_internal@CLAMAV_PRIVATE 0.103.4
- cli_dconf_init@CLAMAV_PRIVATE 0.103.4
- cli_debug_flag@CLAMAV_PRIVATE 0.103.4
- cli_detect_environment@CLAMAV_PRIVATE 0.103.4
- cli_disasm_one@CLAMAV_PRIVATE 0.103.4
- cli_errmsg@CLAMAV_PRIVATE 0.103.4
- cli_filecopy@CLAMAV_PRIVATE 0.103.4
- cli_free_vba_project@CLAMAV_PRIVATE 0.103.4
- cli_ftw@CLAMAV_PRIVATE 0.103.4
- cli_genhash_pe@CLAMAV_PRIVATE 0.103.4
- cli_gentemp@CLAMAV_PRIVATE 0.103.4
- cli_gentemp_with_prefix@CLAMAV_PRIVATE 0.103.4
- cli_gentempfd@CLAMAV_PRIVATE 0.103.4
- cli_get_filepath_from_filedesc@CLAMAV_PRIVATE 0.103.4
- cli_gettmpdir@CLAMAV_PRIVATE 0.103.4
- cli_hashfile@CLAMAV_PRIVATE 0.103.4
- cli_hashset_destroy@CLAMAV_PRIVATE 0.103.4
- cli_hashstream@CLAMAV_PRIVATE 0.103.4
- cli_hex2str@CLAMAV_PRIVATE 0.103.4
- cli_hex2ui@CLAMAV_PRIVATE 0.103.4
- cli_initroots@CLAMAV_PRIVATE 0.103.4
- cli_isnumber@CLAMAV_PRIVATE 0.103.4
- cli_js_destroy@CLAMAV_PRIVATE 0.103.4
- cli_js_init@CLAMAV_PRIVATE 0.103.4
- cli_js_output@CLAMAV_PRIVATE 0.103.4
- cli_js_parse_done@CLAMAV_PRIVATE 0.103.4
- cli_js_process_buffer@CLAMAV_PRIVATE 0.103.4
- cli_ldbtokenize@CLAMAV_PRIVATE 0.103.4
- cli_malloc@CLAMAV_PRIVATE 0.103.4
- cli_memstr@CLAMAV_PRIVATE 0.103.4
- cli_ole2_extract@CLAMAV_PRIVATE 0.103.4
- cli_parse_add@CLAMAV_PRIVATE 0.103.4
- cli_pcre_build@CLAMAV_PRIVATE 0.103.4
- cli_pcre_freeoff@CLAMAV_PRIVATE 0.103.4
- cli_pcre_init@CLAMAV_PRIVATE 0.103.4
- cli_pcre_perf_events_destroy@CLAMAV_PRIVATE 0.103.4
- cli_pcre_perf_print@CLAMAV_PRIVATE 0.103.4
- cli_pcre_recaloff@CLAMAV_PRIVATE 0.103.4
- cli_pcre_scanbuf@CLAMAV_PRIVATE 0.103.4
- cli_ppt_vba_read@CLAMAV_PRIVATE 0.103.4
- cli_printcxxver@CLAMAV_PRIVATE 0.103.4
- cli_readn@CLAMAV_PRIVATE 0.103.4
- cli_realloc@CLAMAV_PRIVATE 0.103.4
- cli_realpath@CLAMAV_PRIVATE 0.103.4
- cli_regcomp@CLAMAV_PRIVATE 0.103.4
- cli_regex2suffix@CLAMAV_PRIVATE 0.103.4
- cli_regexec@CLAMAV_PRIVATE 0.103.4
- cli_regfree@CLAMAV_PRIVATE 0.103.4
- cli_rmdirs@CLAMAV_PRIVATE 0.103.4
- cli_rndnum@CLAMAV_PRIVATE 0.103.4
- cli_sanitize_filepath@CLAMAV_PRIVATE 0.103.4
- cli_scan_buff@CLAMAV_PRIVATE 0.103.4
- cli_scan_fmap@CLAMAV_PRIVATE 0.103.4
- cli_sigopts_handler@CLAMAV_PRIVATE 0.103.4
- cli_sigperf_events_destroy@CLAMAV_PRIVATE 0.103.4
- cli_sigperf_print@CLAMAV_PRIVATE 0.103.4
- cli_str2hex@CLAMAV_PRIVATE 0.103.4
- cli_strbcasestr@CLAMAV_PRIVATE 0.103.4
- cli_strdup@CLAMAV_PRIVATE 0.103.4
- cli_strerror@CLAMAV_PRIVATE 0.103.4
- cli_strlcat@CLAMAV_PRIVATE 0.103.4
- cli_strlcpy@CLAMAV_PRIVATE 0.103.4
- cli_strntoul@CLAMAV_PRIVATE 0.103.4
- cli_strrcpy@CLAMAV_PRIVATE 0.103.4
- cli_strtok@CLAMAV_PRIVATE 0.103.4
- cli_strtokbuf@CLAMAV_PRIVATE 0.103.4
- cli_strtokenize@CLAMAV_PRIVATE 0.103.4
- cli_textbuffer_append_normalize@CLAMAV_PRIVATE 0.103.4
- cli_unescape@CLAMAV_PRIVATE 0.103.4
- cli_unlink@CLAMAV_PRIVATE 0.103.4
- cli_url_canon@CLAMAV_PRIVATE 0.103.4
- cli_utf16_to_utf8@CLAMAV_PRIVATE 0.103.4
- cli_utf16toascii@CLAMAV_PRIVATE 0.103.4
- cli_vba_inflate@CLAMAV_PRIVATE 0.103.4
- cli_vba_readdir@CLAMAV_PRIVATE 0.103.4
- cli_versig2@CLAMAV_PRIVATE 0.103.4
- cli_versig@CLAMAV_PRIVATE 0.103.4
- cli_warnmsg@CLAMAV_PRIVATE 0.103.4
- cli_wm_decrypt_macro@CLAMAV_PRIVATE 0.103.4
- cli_wm_readdir@CLAMAV_PRIVATE 0.103.4
- cli_writen@CLAMAV_PRIVATE 0.103.4
- decodeLine@CLAMAV_PRIVATE 0.103.4
- disasmbuf@CLAMAV_PRIVATE 0.103.4
- fmap@CLAMAV_PRIVATE 0.103.4
- fmap_dump_to_file@CLAMAV_PRIVATE 0.103.4
- fmap_duplicate@CLAMAV_PRIVATE 0.103.4
- free_duplicate_fmap@CLAMAV_PRIVATE 0.103.4
- get_fpu_endian@CLAMAV_PRIVATE 0.103.4
- have_clamjit@CLAMAV_PRIVATE 0.103.4
- have_rar@CLAMAV_PRIVATE 0.103.4
- html_normalise_map@CLAMAV_PRIVATE 0.103.4
- html_normalise_mem@CLAMAV_PRIVATE 0.103.4
- html_screnc_decode@CLAMAV_PRIVATE 0.103.4
- html_tag_arg_free@CLAMAV_PRIVATE 0.103.4
- init_domainlist@CLAMAV_PRIVATE 0.103.4
- init_regex_list@CLAMAV_PRIVATE 0.103.4
- init_whitelist@CLAMAV_PRIVATE 0.103.4
- is_regex_ok@CLAMAV_PRIVATE 0.103.4
- load_regex_matcher@CLAMAV_PRIVATE 0.103.4
+ cl_validate_certificate_chain@CLAMAV_PRIVATE 0.103.5
+ cl_validate_certificate_chain_ts_dir@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_fd@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_fd_x509@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_fd_x509_keyfile@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_hash@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_hash_x509@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_hash_x509_keyfile@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_x509@CLAMAV_PRIVATE 0.103.5
+ cl_verify_signature_x509_keyfile@CLAMAV_PRIVATE 0.103.5
+ cli_ac_buildtrie@CLAMAV_PRIVATE 0.103.5
+ cli_ac_chklsig@CLAMAV_PRIVATE 0.103.5
+ cli_ac_free@CLAMAV_PRIVATE 0.103.5
+ cli_ac_freedata@CLAMAV_PRIVATE 0.103.5
+ cli_ac_init@CLAMAV_PRIVATE 0.103.5
+ cli_ac_initdata@CLAMAV_PRIVATE 0.103.5
+ cli_ac_scanbuff@CLAMAV_PRIVATE 0.103.5
+ cli_basename@CLAMAV_PRIVATE 0.103.5
+ cli_bm_free@CLAMAV_PRIVATE 0.103.5
+ cli_bm_init@CLAMAV_PRIVATE 0.103.5
+ cli_bm_scanbuff@CLAMAV_PRIVATE 0.103.5
+ cli_build_regex_list@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_alloc@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_clear@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_getresult_int@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_set_trace@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_setfile@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_setfuncid@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_setparam_int@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_context_setparam_ptr@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_debug@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_debug_printsrc@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_describe@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_done@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_init@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_load@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_prepare2@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_printversion@CLAMAV_PRIVATE 0.103.5
+ cli_bytecode_run@CLAMAV_PRIVATE 0.103.5
+ cli_bytefunc_describe@CLAMAV_PRIVATE 0.103.5
+ cli_byteinst_describe@CLAMAV_PRIVATE 0.103.5
+ cli_bytetype_describe@CLAMAV_PRIVATE 0.103.5
+ cli_bytevalue_describe@CLAMAV_PRIVATE 0.103.5
+ cli_calloc@CLAMAV_PRIVATE 0.103.5
+ cli_check_auth_header@CLAMAV_PRIVATE 0.103.5
+ cli_chomp@CLAMAV_PRIVATE 0.103.5
+ cli_codepage_to_utf8@CLAMAV_PRIVATE 0.103.5
+ cli_ctime@CLAMAV_PRIVATE 0.103.5
+ cli_cvdunpack@CLAMAV_PRIVATE 0.103.5
+ cli_dbgmsg_internal@CLAMAV_PRIVATE 0.103.5
+ cli_dconf_init@CLAMAV_PRIVATE 0.103.5
+ cli_debug_flag@CLAMAV_PRIVATE 0.103.5
+ cli_detect_environment@CLAMAV_PRIVATE 0.103.5
+ cli_disasm_one@CLAMAV_PRIVATE 0.103.5
+ cli_errmsg@CLAMAV_PRIVATE 0.103.5
+ cli_filecopy@CLAMAV_PRIVATE 0.103.5
+ cli_free_vba_project@CLAMAV_PRIVATE 0.103.5
+ cli_ftw@CLAMAV_PRIVATE 0.103.5
+ cli_genhash_pe@CLAMAV_PRIVATE 0.103.5
+ cli_gentemp@CLAMAV_PRIVATE 0.103.5
+ cli_gentemp_with_prefix@CLAMAV_PRIVATE 0.103.5
+ cli_gentempfd@CLAMAV_PRIVATE 0.103.5
+ cli_get_filepath_from_filedesc@CLAMAV_PRIVATE 0.103.5
+ cli_gettmpdir@CLAMAV_PRIVATE 0.103.5
+ cli_hashfile@CLAMAV_PRIVATE 0.103.5
+ cli_hashset_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_hashstream@CLAMAV_PRIVATE 0.103.5
+ cli_hex2str@CLAMAV_PRIVATE 0.103.5
+ cli_hex2ui@CLAMAV_PRIVATE 0.103.5
+ cli_initroots@CLAMAV_PRIVATE 0.103.5
+ cli_isnumber@CLAMAV_PRIVATE 0.103.5
+ cli_js_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_js_init@CLAMAV_PRIVATE 0.103.5
+ cli_js_output@CLAMAV_PRIVATE 0.103.5
+ cli_js_parse_done@CLAMAV_PRIVATE 0.103.5
+ cli_js_process_buffer@CLAMAV_PRIVATE 0.103.5
+ cli_ldbtokenize@CLAMAV_PRIVATE 0.103.5
+ cli_malloc@CLAMAV_PRIVATE 0.103.5
+ cli_memstr@CLAMAV_PRIVATE 0.103.5
+ cli_ole2_extract@CLAMAV_PRIVATE 0.103.5
+ cli_parse_add@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_build@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_freeoff@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_init@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_perf_events_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_perf_print@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_recaloff@CLAMAV_PRIVATE 0.103.5
+ cli_pcre_scanbuf@CLAMAV_PRIVATE 0.103.5
+ cli_ppt_vba_read@CLAMAV_PRIVATE 0.103.5
+ cli_printcxxver@CLAMAV_PRIVATE 0.103.5
+ cli_readn@CLAMAV_PRIVATE 0.103.5
+ cli_realloc@CLAMAV_PRIVATE 0.103.5
+ cli_realpath@CLAMAV_PRIVATE 0.103.5
+ cli_regcomp@CLAMAV_PRIVATE 0.103.5
+ cli_regex2suffix@CLAMAV_PRIVATE 0.103.5
+ cli_regexec@CLAMAV_PRIVATE 0.103.5
+ cli_regfree@CLAMAV_PRIVATE 0.103.5
+ cli_rmdirs@CLAMAV_PRIVATE 0.103.5
+ cli_rndnum@CLAMAV_PRIVATE 0.103.5
+ cli_sanitize_filepath@CLAMAV_PRIVATE 0.103.5
+ cli_scan_buff@CLAMAV_PRIVATE 0.103.5
+ cli_scan_fmap@CLAMAV_PRIVATE 0.103.5
+ cli_sigopts_handler@CLAMAV_PRIVATE 0.103.5
+ cli_sigperf_events_destroy@CLAMAV_PRIVATE 0.103.5
+ cli_sigperf_print@CLAMAV_PRIVATE 0.103.5
+ cli_str2hex@CLAMAV_PRIVATE 0.103.5
+ cli_strbcasestr@CLAMAV_PRIVATE 0.103.5
+ cli_strdup@CLAMAV_PRIVATE 0.103.5
+ cli_strerror@CLAMAV_PRIVATE 0.103.5
+ cli_strlcat@CLAMAV_PRIVATE 0.103.5
+ cli_strlcpy@CLAMAV_PRIVATE 0.103.5
+ cli_strntoul@CLAMAV_PRIVATE 0.103.5
+ cli_strrcpy@CLAMAV_PRIVATE 0.103.5
+ cli_strtok@CLAMAV_PRIVATE 0.103.5
+ cli_strtokbuf@CLAMAV_PRIVATE 0.103.5
+ cli_strtokenize@CLAMAV_PRIVATE 0.103.5
+ cli_textbuffer_append_normalize@CLAMAV_PRIVATE 0.103.5
+ cli_unescape@CLAMAV_PRIVATE 0.103.5
+ cli_unlink@CLAMAV_PRIVATE 0.103.5
+ cli_url_canon@CLAMAV_PRIVATE 0.103.5
+ cli_utf16_to_utf8@CLAMAV_PRIVATE 0.103.5
+ cli_utf16toascii@CLAMAV_PRIVATE 0.103.5
+ cli_vba_inflate@CLAMAV_PRIVATE 0.103.5
+ cli_vba_readdir@CLAMAV_PRIVATE 0.103.5
+ cli_versig2@CLAMAV_PRIVATE 0.103.5
+ cli_versig@CLAMAV_PRIVATE 0.103.5
+ cli_warnmsg@CLAMAV_PRIVATE 0.103.5
+ cli_wm_decrypt_macro@CLAMAV_PRIVATE 0.103.5
+ cli_wm_readdir@CLAMAV_PRIVATE 0.103.5
+ cli_writen@CLAMAV_PRIVATE 0.103.5
+ decodeLine@CLAMAV_PRIVATE 0.103.5
+ disasmbuf@CLAMAV_PRIVATE 0.103.5
+ fmap@CLAMAV_PRIVATE 0.103.5
+ fmap_dump_to_file@CLAMAV_PRIVATE 0.103.5
+ fmap_duplicate@CLAMAV_PRIVATE 0.103.5
+ free_duplicate_fmap@CLAMAV_PRIVATE 0.103.5
+ get_fpu_endian@CLAMAV_PRIVATE 0.103.5
+ have_clamjit@CLAMAV_PRIVATE 0.103.5
+ have_rar@CLAMAV_PRIVATE 0.103.5
+ html_normalise_map@CLAMAV_PRIVATE 0.103.5
+ html_normalise_mem@CLAMAV_PRIVATE 0.103.5
+ html_screnc_decode@CLAMAV_PRIVATE 0.103.5
+ html_tag_arg_free@CLAMAV_PRIVATE 0.103.5
+ init_domainlist@CLAMAV_PRIVATE 0.103.5
+ init_regex_list@CLAMAV_PRIVATE 0.103.5
+ init_whitelist@CLAMAV_PRIVATE 0.103.5
+ is_regex_ok@CLAMAV_PRIVATE 0.103.5
+ load_regex_matcher@CLAMAV_PRIVATE 0.103.5
  lsig_sub_matched@CLAMAV_PUBLIC 0.101.0
- messageCreate@CLAMAV_PRIVATE 0.103.4
- messageDestroy@CLAMAV_PRIVATE 0.103.4
- mpool_calloc@CLAMAV_PRIVATE 0.103.4
- mpool_create@CLAMAV_PRIVATE 0.103.4
- mpool_destroy@CLAMAV_PRIVATE 0.103.4
- mpool_free@CLAMAV_PRIVATE 0.103.4
- mpool_getstats@CLAMAV_PRIVATE 0.103.4
- phishingScan@CLAMAV_PRIVATE 0.103.4
- phishing_done@CLAMAV_PRIVATE 0.103.4
- phishing_init@CLAMAV_PRIVATE 0.103.4
- regex_list_add_pattern@CLAMAV_PRIVATE 0.103.4
- regex_list_done@CLAMAV_PRIVATE 0.103.4
- regex_list_match@CLAMAV_PRIVATE 0.103.4
- tableCreate@CLAMAV_PRIVATE 0.103.4
- tableDestroy@CLAMAV_PRIVATE 0.103.4
- tableFind@CLAMAV_PRIVATE 0.103.4
- tableInsert@CLAMAV_PRIVATE 0.103.4
- tableIterate@CLAMAV_PRIVATE 0.103.4
- tableRemove@CLAMAV_PRIVATE 0.103.4
- tableUpdate@CLAMAV_PRIVATE 0.103.4
- text_normalize_init@CLAMAV_PRIVATE 0.103.4
- text_normalize_map@CLAMAV_PRIVATE 0.103.4
- text_normalize_reset@CLAMAV_PRIVATE 0.103.4
- uniq_add@CLAMAV_PRIVATE 0.103.4
- uniq_free@CLAMAV_PRIVATE 0.103.4
- uniq_get@CLAMAV_PRIVATE 0.103.4
- uniq_init@CLAMAV_PRIVATE 0.103.4
+ messageCreate@CLAMAV_PRIVATE 0.103.5
+ messageDestroy@CLAMAV_PRIVATE 0.103.5
+ mpool_calloc@CLAMAV_PRIVATE 0.103.5
+ mpool_create@CLAMAV_PRIVATE 0.103.5
+ mpool_destroy@CLAMAV_PRIVATE 0.103.5
+ mpool_free@CLAMAV_PRIVATE 0.103.5
+ mpool_getstats@CLAMAV_PRIVATE 0.103.5
+ phishingScan@CLAMAV_PRIVATE 0.103.5
+ phishing_done@CLAMAV_PRIVATE 0.103.5
+ phishing_init@CLAMAV_PRIVATE 0.103.5
+ regex_list_add_pattern@CLAMAV_PRIVATE 0.103.5
+ regex_list_done@CLAMAV_PRIVATE 0.103.5
+ regex_list_match@CLAMAV_PRIVATE 0.103.5
+ tableCreate@CLAMAV_PRIVATE 0.103.5
+ tableDestroy@CLAMAV_PRIVATE 0.103.5
+ tableFind@CLAMAV_PRIVATE 0.103.5
+ tableInsert@CLAMAV_PRIVATE 0.103.5
+ tableIterate@CLAMAV_PRIVATE 0.103.5
+ tableRemove@CLAMAV_PRIVATE 0.103.5
+ tableUpdate@CLAMAV_PRIVATE 0.103.5
+ text_normalize_init@CLAMAV_PRIVATE 0.103.5
+ text_normalize_map@CLAMAV_PRIVATE 0.103.5
+ text_normalize_reset@CLAMAV_PRIVATE 0.103.5
+ uniq_add@CLAMAV_PRIVATE 0.103.5
+ uniq_free@CLAMAV_PRIVATE 0.103.5
+ uniq_get@CLAMAV_PRIVATE 0.103.5
+ uniq_init@CLAMAV_PRIVATE 0.103.5
 libfreshclam.so.2 libclamav9 #MINVER#
  FRESHCLAM_PRIVATE@FRESHCLAM_PRIVATE 0.103.0
  FRESHCLAM_PUBLIC@FRESHCLAM_PUBLIC 0.102.1
diff -Nru clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.7.patch clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.7.patch
--- clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.7.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.7.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From 9e14635f7236ad56865837ace192e266b840bbf1 Mon Sep 17 00:00:00 2001
+From ca1a543796d95c62bf4c4b9ec15ad94bfcf08077 Mon Sep 17 00:00:00 2001
 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
 Date: Fri, 14 Oct 2016 20:24:39 +0200
 Subject: Add support for LLVM 3.7
@@ -24,7 +24,7 @@
  4 files changed, 244 insertions(+), 19 deletions(-)
 
 diff --git a/libclamav/c++/ClamBCRTChecks.cpp b/libclamav/c++/ClamBCRTChecks.cpp
-index c8a853f..09657b9 100644
+index 95b4e17..550aa80 100644
 --- a/libclamav/c++/ClamBCRTChecks.cpp
 +++ b/libclamav/c++/ClamBCRTChecks.cpp
 @@ -201,9 +201,11 @@ namespace llvm {
@@ -247,7 +247,7 @@
      if (isa<SCEVCouldNotCompute>(Limit)) {
        Base = 0;
 diff --git a/libclamav/c++/bytecode2llvm.cpp b/libclamav/c++/bytecode2llvm.cpp
-index 6f1181a..a0bab63 100644
+index 350e8d4..6a9bd7e 100644
 --- a/libclamav/c++/bytecode2llvm.cpp
 +++ b/libclamav/c++/bytecode2llvm.cpp
 @@ -64,7 +64,11 @@
diff -Nru clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.8.patch clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.8.patch
--- clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.8.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.8.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From 36723b3b772b2fd13429092e8238979bd225b2d8 Mon Sep 17 00:00:00 2001
+From f1ea5523cdfa2b0cda73d7afeff871cf6a27ef68 Mon Sep 17 00:00:00 2001
 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
 Date: Fri, 14 Oct 2016 20:24:48 +0200
 Subject: Add support for LLVM 3.8
@@ -22,7 +22,7 @@
  5 files changed, 119 insertions(+), 14 deletions(-)
 
 diff --git a/libclamav/c++/ClamBCRTChecks.cpp b/libclamav/c++/ClamBCRTChecks.cpp
-index 09657b9..695a32b 100644
+index 550aa80..949eeec 100644
 --- a/libclamav/c++/ClamBCRTChecks.cpp
 +++ b/libclamav/c++/ClamBCRTChecks.cpp
 @@ -54,7 +54,9 @@
@@ -214,7 +214,7 @@
  }
  
 diff --git a/libclamav/c++/bytecode2llvm.cpp b/libclamav/c++/bytecode2llvm.cpp
-index a0bab63..e7093cb 100644
+index 6a9bd7e..3490690 100644
 --- a/libclamav/c++/bytecode2llvm.cpp
 +++ b/libclamav/c++/bytecode2llvm.cpp
 @@ -171,7 +171,9 @@ void LLVMInitializePowerPCAsmPrinter();
diff -Nru clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.9.patch clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.9.patch
--- clamav-0.103.4+dfsg/debian/patches/Add-support-for-LLVM-3.9.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/Add-support-for-LLVM-3.9.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From 331fc24f27040bcec996893cb1fbb95588c1e925 Mon Sep 17 00:00:00 2001
+From db2466aa2494f16f5552b2b277af66bee4b087f4 Mon Sep 17 00:00:00 2001
 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
 Date: Fri, 14 Oct 2016 20:24:56 +0200
 Subject: Add support for LLVM 3.9
@@ -14,7 +14,7 @@
  2 files changed, 13 insertions(+), 3 deletions(-)
 
 diff --git a/libclamav/c++/bytecode2llvm.cpp b/libclamav/c++/bytecode2llvm.cpp
-index e7093cb..ad93eae 100644
+index 3490690..7e4de54 100644
 --- a/libclamav/c++/bytecode2llvm.cpp
 +++ b/libclamav/c++/bytecode2llvm.cpp
 @@ -788,7 +788,11 @@ class RuntimeLimits : public FunctionPass {
diff -Nru clamav-0.103.4+dfsg/debian/patches/add-support-for-system-tomsfastmath.patch clamav-0.103.5+dfsg/debian/patches/add-support-for-system-tomsfastmath.patch
--- clamav-0.103.4+dfsg/debian/patches/add-support-for-system-tomsfastmath.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/add-support-for-system-tomsfastmath.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From fb9b5e870fb2eee0cf0cb729de7210e5d449f9b8 Mon Sep 17 00:00:00 2001
+From c2db4e1f887e84773dcacbbf175eab292cf8aace Mon Sep 17 00:00:00 2001
 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
 Date: Wed, 11 Mar 2015 20:03:15 +0100
 Subject: add support for system tomsfastmath
@@ -14,7 +14,7 @@
  create mode 100644 m4/reorganization/libs/tomsfastmath.m4
 
 diff --git a/configure.ac b/configure.ac
-index ef1532f..7625a00 100644
+index 514a967..32be9e5 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -98,6 +98,7 @@ m4_include([m4/reorganization/libs/libmspack.m4])
@@ -34,7 +34,7 @@
  # Yep, downgrading the compiler avoids the bug too:
  # 4.0.x, and 4.1.0 are the known buggy versions
 diff --git a/libclamav/Makefile.am b/libclamav/Makefile.am
-index 0174a92..5547972 100644
+index 526ad56..7a5185e 100644
 --- a/libclamav/Makefile.am
 +++ b/libclamav/Makefile.am
 @@ -588,6 +588,7 @@ libclamav_la_SOURCES += yara_arena.c \
diff -Nru clamav-0.103.4+dfsg/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch clamav-0.103.5+dfsg/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch
--- clamav-0.103.4+dfsg/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From 18c8f7b4052622bcf60857b253527788a6e29aa9 Mon Sep 17 00:00:00 2001
+From 2e6262965ecae28f1880620661d352e0ff8e68b3 Mon Sep 17 00:00:00 2001
 From: Scott Kitterman <sc...@kitterman.com>
 Date: Mon, 10 Mar 2014 19:20:18 -0400
 Subject: Change paths in sample conf file to match Debian
diff -Nru clamav-0.103.4+dfsg/debian/patches/clamd_dont_depend_on_clamav_demon_socket.patch clamav-0.103.5+dfsg/debian/patches/clamd_dont_depend_on_clamav_demon_socket.patch
--- clamav-0.103.4+dfsg/debian/patches/clamd_dont_depend_on_clamav_demon_socket.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/clamd_dont_depend_on_clamav_demon_socket.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From 6f48ee86a9efeb8cf58c052ae57a7f6250a89a39 Mon Sep 17 00:00:00 2001
+From 1fcbdac3d389676f930f06292a3f5ebcf58db2d0 Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Thu, 11 Aug 2016 21:54:10 +0200
 Subject: clamd: don't depend on clamav-demon.socket
diff -Nru clamav-0.103.4+dfsg/debian/patches/Fix-ck_assert_msg-call.patch clamav-0.103.5+dfsg/debian/patches/Fix-ck_assert_msg-call.patch
--- clamav-0.103.4+dfsg/debian/patches/Fix-ck_assert_msg-call.patch	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/patches/Fix-ck_assert_msg-call.patch	2022-01-13 21:49:00.000000000 +0100
@@ -1,4 +1,4 @@
-From a9367dca1bb602551ab6475b4a4582a6b1de45c5 Mon Sep 17 00:00:00 2001
+From d98f95bd2562d8205e1e0a209c06c7706b9107fc Mon Sep 17 00:00:00 2001
 From: Orion Poplawski <or...@nwra.com>
 Date: Thu, 17 Sep 2020 22:26:04 -0600
 Subject: unit tests: Fix ck_assert_msg() call
@@ -11,7 +11,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/unit_tests/check_jsnorm.c b/unit_tests/check_jsnorm.c
-index f15dce4..7618776 100644
+index 114f052..9b2f4eb 100644
 --- a/unit_tests/check_jsnorm.c
 +++ b/unit_tests/check_jsnorm.c
 @@ -247,7 +247,7 @@ static void tokenizer_test(const char *in, const char *expected, int split)
diff -Nru clamav-0.103.4+dfsg/debian/rules clamav-0.103.5+dfsg/debian/rules
--- clamav-0.103.4+dfsg/debian/rules	2021-12-16 21:02:29.000000000 +0100
+++ clamav-0.103.5+dfsg/debian/rules	2022-01-13 21:49:00.000000000 +0100
@@ -88,7 +88,7 @@
 	  fi;\
 	done; \
 	# Check for library features which may have been upgraded.
-	if ! grep -q "CL_FLEVEL 125" libclamav/others.h ; then \
+	if ! grep -q "CL_FLEVEL 126" libclamav/others.h ; then \
 		echo "cl_retflevel needs boosting in symbol file"; \
 		touch debian/exit; \
 	fi;
diff -Nru clamav-0.103.4+dfsg/fuzz/clamav_scanmap_fuzzer.cpp clamav-0.103.5+dfsg/fuzz/clamav_scanmap_fuzzer.cpp
--- clamav-0.103.4+dfsg/fuzz/clamav_scanmap_fuzzer.cpp	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/fuzz/clamav_scanmap_fuzzer.cpp	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * Fuzz target for cl_scanmap_callback()
  *
- * Copyright (C) 2018-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ * Copyright (C) 2018-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  * Authors: Micah Snyder, Alex Gaynor
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,14 +37,16 @@
 
 #include "clamav.h"
 
-
 void clamav_message_callback(enum cl_msg severity, const char *fullmsg,
-                             const char *msg, void *context) {
+                             const char *msg, void *context)
+{
 }
 
-class ClamAVState {
-public:
-    ClamAVState() {
+class ClamAVState
+{
+  public:
+    ClamAVState()
+    {
         // Silence all the log messages, none of them are meaningful.
         cl_set_clcb_msg(clamav_message_callback);
 
@@ -53,7 +55,8 @@
         cl_engine_compile(engine);
     }
 
-    ~ClamAVState() {
+    ~ClamAVState()
+    {
         cl_engine_free(engine);
     }
 
@@ -64,7 +67,8 @@
 // that on each execution.
 ClamAVState kClamAVState;
 
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
 
     struct cl_scan_options scanopts = {0};
 
@@ -100,7 +104,7 @@
     scanopts.general |= CL_SCAN_GENERAL_HEURISTICS;
 
     const char *virus_name = nullptr;
-    unsigned long scanned = 0;
+    unsigned long scanned  = 0;
     cl_scanmap_callback(
         clamav_data,
         NULL,
@@ -108,8 +112,7 @@
         &scanned,
         kClamAVState.engine,
         &scanopts,
-        nullptr
-    );
+        nullptr);
 
     cl_fmap_close(clamav_data);
 
diff -Nru clamav-0.103.4+dfsg/libclamav/bytecode_api.h clamav-0.103.5+dfsg/libclamav/bytecode_api.h
--- clamav-0.103.4+dfsg/libclamav/bytecode_api.h	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/bytecode_api.h	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2019 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2009-2013 Sourcefire, Inc.
 
  *  Authors: Török Edvin, Kevin Lin
@@ -150,6 +150,7 @@
     FUNC_LEVEL_0103_2    = 123, /**< LibClamAV release 0.103.2 */
     FUNC_LEVEL_0103_3    = 124, /**< LibClamAV release 0.103.3 */
     FUNC_LEVEL_0103_4    = 125, /**< LibClamAV release 0.103.4 */
+    FUNC_LEVEL_0103_5    = 126, /**< LibClamAV release 0.103.4 */
 };
 
 /**
diff -Nru clamav-0.103.4+dfsg/libclamav/c++/ClamBCDiagnostics.h clamav-0.103.5+dfsg/libclamav/c++/ClamBCDiagnostics.h
--- clamav-0.103.4+dfsg/libclamav/c++/ClamBCDiagnostics.h	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/c++/ClamBCDiagnostics.h	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  *  Compile LLVM bytecode to ClamAV bytecode.
  *
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2010-2013 Sourcefire, Inc.
  *
  *  Authors: Török Edvin
@@ -20,9 +20,10 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  *  MA 02110-1301, USA.
  */
-namespace llvm {
-    class Value;
+namespace llvm
+{
+class Value;
 }
 // match the prototype used in the bytecode compiler
-void printValue(llvm::Value *V, bool a=false, bool b=false);
-void printLocation(llvm::Instruction *I, bool a=false, bool b=false);
+void printValue(llvm::Value *V, bool a = false, bool b = false);
+void printLocation(llvm::Instruction *I, bool a = false, bool b = false);
diff -Nru clamav-0.103.4+dfsg/libclamav/c++/Makefile.in clamav-0.103.5+dfsg/libclamav/c++/Makefile.in
--- clamav-0.103.4+dfsg/libclamav/c++/Makefile.in	2021-11-02 16:48:07.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/c++/Makefile.in	2022-01-11 00:18:04.000000000 +0100
@@ -5333,8 +5333,8 @@
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
 	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-@BUILD_EXTERNAL_LLVM_TRUE@distclean-local:
 @BUILD_EXTERNAL_LLVM_TRUE@clean-local:
+@BUILD_EXTERNAL_LLVM_TRUE@distclean-local:
 clean: clean-am
 
 clean-am: clean-generic clean-libtool clean-local \
diff -Nru clamav-0.103.4+dfsg/libclamav/entconv.h clamav-0.103.5+dfsg/libclamav/entconv.h
--- clamav-0.103.4+dfsg/libclamav/entconv.h	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/entconv.h	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  *  HTML Entity & Encoding normalization.
  *
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Török Edvin
@@ -62,7 +62,7 @@
 /* string conversion */
 struct codepage_entry {
     uint16_t codepage;
-    const char *encoding;
+    const char* encoding;
 };
 
 #define NUMCODEPAGES (sizeof(codepage_entries) / sizeof(struct codepage_entry))
diff -Nru clamav-0.103.4+dfsg/libclamav/jsparse/js-norm.c clamav-0.103.5+dfsg/libclamav/jsparse/js-norm.c
--- clamav-0.103.4+dfsg/libclamav/jsparse/js-norm.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/jsparse/js-norm.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  *  Javascript normalizer.
  *
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2008-2013 Sourcefire, Inc.
  *
  *  Authors: Török Edvin
@@ -1660,7 +1660,7 @@
 {
     size_t len = MIN(5, scanner->insize - scanner->pos);
     while (len) {
-        const struct operator*kw = in_op_set(&scanner->in[scanner->pos], len);
+        const struct operator* kw = in_op_set(&scanner->in[scanner->pos], len);
         if (kw) {
             TOKEN_SET(lvalp, cstring, kw->name);
             scanner->pos += len;
diff -Nru clamav-0.103.4+dfsg/libclamav/libmspack.c clamav-0.103.5+dfsg/libclamav/libmspack.c
--- clamav-0.103.4+dfsg/libclamav/libmspack.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/libmspack.c	2022-01-11 00:17:45.000000000 +0100
@@ -34,7 +34,7 @@
 
 struct mspack_system_ex {
     struct mspack_system ops;
-    off_t max_size;
+    uint64_t max_size;
 };
 
 struct mspack_handle {
@@ -45,7 +45,7 @@
     off_t offset;
 
     FILE *f;
-    off_t max_size;
+    uint64_t max_size;
 };
 
 static struct mspack_file *mspack_fmap_open(struct mspack_system *self,
@@ -170,7 +170,7 @@
 {
     struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
     size_t count;
-    off_t max_size;
+    uint64_t max_size;
 
     if (bytes < 0 || !mspack_handle) {
         cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
@@ -189,7 +189,7 @@
     if (!max_size)
         return bytes;
 
-    max_size = max_size < (off_t)bytes ? max_size : (off_t)bytes;
+    max_size = max_size < (uint64_t)bytes ? max_size : (uint64_t)bytes;
 
     mspack_handle->max_size -= max_size;
 
@@ -366,7 +366,7 @@
     }
     files = 0;
     for (cab_f = cab_h->files; cab_f; cab_f = cab_f->next) {
-        off_t max_size;
+        uint64_t max_size;
         char *tmp_fname = NULL;
 
         ret = cli_matchmeta(ctx, cab_f->filename, 0, cab_f->length, 0,
@@ -387,13 +387,27 @@
             }
         }
 
-        if (ctx->engine->maxscansize &&
-            ctx->scansize + ctx->engine->maxfilesize >=
-                ctx->engine->maxscansize)
-            max_size = ctx->engine->maxscansize -
-                       ctx->scansize;
-        else
-            max_size = ctx->engine->maxfilesize ? ctx->engine->maxfilesize : 0xffffffff;
+        if (ctx->engine->maxfilesize > 0) {
+            // max filesize has been set
+            if ((ctx->engine->maxscansize > 0) &&
+                (ctx->scansize + ctx->engine->maxfilesize >= ctx->engine->maxscansize)) {
+                // ... but would exceed max scansize, shrink it.
+                max_size = ctx->engine->maxscansize - ctx->scansize;
+            } else {
+                // ... and will work
+                max_size = ctx->engine->maxfilesize;
+            }
+        } else {
+            // max filesize not specified
+            if ((ctx->engine->maxscansize > 0) &&
+                (ctx->scansize + UINT32_MAX >= ctx->engine->maxscansize)) {
+                // ... but UINT32_MAX would exceed max scansize, shrink it.
+                max_size = ctx->engine->maxscansize - ctx->scansize;
+            } else {
+                // ... use UINT32_MAX
+                max_size = UINT32_MAX;
+            }
+        }
 
         tmp_fname = cli_gentemp(ctx->sub_tmpdir);
         if (!tmp_fname) {
@@ -468,7 +482,7 @@
     }
     files = 0;
     for (mschm_f = mschm_h->files; mschm_f; mschm_f = mschm_f->next) {
-        off_t max_size;
+        uint64_t max_size;
         char *tmp_fname;
 
         ret = cli_matchmeta(ctx, mschm_f->filename, 0, mschm_f->length,
@@ -489,13 +503,27 @@
             }
         }
 
-        if (ctx->engine->maxscansize &&
-            ctx->scansize + ctx->engine->maxfilesize >=
-                ctx->engine->maxscansize)
-            max_size = ctx->engine->maxscansize -
-                       ctx->scansize;
-        else
-            max_size = ctx->engine->maxfilesize ? ctx->engine->maxfilesize : 0xffffffff;
+        if (ctx->engine->maxfilesize > 0) {
+            // max filesize has been set
+            if ((ctx->engine->maxscansize > 0) &&
+                (ctx->scansize + ctx->engine->maxfilesize >= ctx->engine->maxscansize)) {
+                // ... but would exceed max scansize, shrink it.
+                max_size = ctx->engine->maxscansize - ctx->scansize;
+            } else {
+                // ... and will work
+                max_size = ctx->engine->maxfilesize;
+            }
+        } else {
+            // max filesize not specified
+            if ((ctx->engine->maxscansize > 0) &&
+                (ctx->scansize + UINT32_MAX >= ctx->engine->maxscansize)) {
+                // ... but UINT32_MAX would exceed max scansize, shrink it.
+                max_size = ctx->engine->maxscansize - ctx->scansize;
+            } else {
+                // ... use UINT32_MAX
+                max_size = UINT32_MAX;
+            }
+        }
 
         ops_ex.max_size = max_size;
 
diff -Nru clamav-0.103.4+dfsg/libclamav/matcher-ac.c clamav-0.103.5+dfsg/libclamav/matcher-ac.c
--- clamav-0.103.4+dfsg/libclamav/matcher-ac.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/matcher-ac.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -2909,7 +2909,7 @@
         return ret;
     }
 
-    if (new->offdata[0] != CLI_OFF_ANY && new->offdata[0] != CLI_OFF_ABSOLUTE && new->offdata[0] != CLI_OFF_MACRO) {
+    if (new->offdata[0] != CLI_OFF_ANY &&new->offdata[0] != CLI_OFF_ABSOLUTE &&new->offdata[0] != CLI_OFF_MACRO) {
         root->ac_reloff = (struct cli_ac_patt **)MPOOL_REALLOC2(root->mempool, root->ac_reloff, (root->ac_reloff_num + 1) * sizeof(struct cli_ac_patt *));
         if (!root->ac_reloff) {
             cli_errmsg("cli_ac_addsig: Can't allocate memory for root->ac_reloff\n");
diff -Nru clamav-0.103.4+dfsg/libclamav/ooxml.c clamav-0.103.5+dfsg/libclamav/ooxml.c
--- clamav-0.103.4+dfsg/libclamav/ooxml.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/ooxml.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * OOXML JSON Internals
  *
- * Copyright (C) 2014-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ * Copyright (C) 2014-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *
  * Authors: Kevin Lin
  *
@@ -245,7 +245,7 @@
             cli_dbgmsg("%s: %s\n", localname, value);
         }
 
-        if (!CT && !PN) continue;
+        if (!CT || !PN) continue;
 
         if (!xmlStrcmp(CT, (const xmlChar *)"application/vnd.openxmlformats-package.core-properties+xml")) {
             /* default: /docProps/core.xml*/
diff -Nru clamav-0.103.4+dfsg/libclamav/others.h clamav-0.103.5+dfsg/libclamav/others.h
--- clamav-0.103.4+dfsg/libclamav/others.h	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/others.h	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -73,7 +73,7 @@
  * in re-enabling affected modules.
  */
 
-#define CL_FLEVEL 125
+#define CL_FLEVEL 126
 #define CL_FLEVEL_DCONF CL_FLEVEL
 #define CL_FLEVEL_SIGTOOL CL_FLEVEL
 
@@ -179,7 +179,7 @@
     unsigned long int *scanned;
     const struct cli_matcher *root;
     const struct cl_engine *engine;
-    unsigned long scansize;
+    uint64_t scansize;
     struct cl_scan_options *options;
     unsigned int scannedfiles;
     unsigned int found_possibly_unwanted;
diff -Nru clamav-0.103.4+dfsg/libclamav/png.c clamav-0.103.5+dfsg/libclamav/png.c
--- clamav-0.103.4+dfsg/libclamav/png.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/png.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *   Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *   Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *   Copyright (C) 2011-2013 Sourcefire, Inc.
  *   Copyright (C) 1995-2007 by Alexander Lehmann <lehm...@usa.net>,
  *                              Andreas Dilger <adil...@enel.ucalgary.ca>,
@@ -346,7 +346,7 @@
                         cli_dbgmsg("PNG: zlib: inflate error: %d, Image decompression failed!\n", err);
                         inflateEnd(&zstrm);
                         zstrm_initialized = false;
-                        idat_state = PNG_IDAT_DECOMPRESSION_FAILED;
+                        idat_state        = PNG_IDAT_DECOMPRESSION_FAILED;
                         break;
                     }
                 }
@@ -355,7 +355,7 @@
                     cli_dbgmsg("  TOTAL decompressed:    %zu\n", decompressed_data_len);
                     inflateEnd(&zstrm);
                     zstrm_initialized = false;
-                    idat_state = PNG_IDAT_DECOMPRESSION_COMPLETE;
+                    idat_state        = PNG_IDAT_DECOMPRESSION_COMPLETE;
 
                     if ((decompressed_data_len > image_size) && (SCAN_HEURISTIC_BROKEN_MEDIA)) {
                         status = cli_append_virus(ctx, "Heuristics.PNG.CVE-2010-1205");
diff -Nru clamav-0.103.4+dfsg/libclamav/readdb.c clamav-0.103.5+dfsg/libclamav/readdb.c
--- clamav-0.103.4+dfsg/libclamav/readdb.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/readdb.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *  Copyright (C) 2002-2007 Tomasz Kojm <tk...@clamav.net>
  *
@@ -4805,7 +4805,7 @@
 const char *cl_retdbdir(void)
 {
 #ifdef _WIN32
-    int have_ddir = 0;
+    int have_ddir       = 0;
     char path[MAX_PATH] = "";
     DWORD sizof;
     HKEY key;
@@ -4819,7 +4819,7 @@
         RegCloseKey(key);
     }
     if (!(have_ddir) && GetModuleFileName(NULL, path, sizeof(path))) {
-        char *dir = NULL;
+        char *dir              = NULL;
         path[sizeof(path) - 1] = '\0';
         dir                    = dirname(path);
         snprintf(DATABASE_DIRECTORY, sizeof(DATABASE_DIRECTORY), "%s\\database", dir);
diff -Nru clamav-0.103.4+dfsg/libclamav/scanners.c clamav-0.103.5+dfsg/libclamav/scanners.c
--- clamav-0.103.4+dfsg/libclamav/scanners.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/scanners.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -5328,7 +5328,7 @@
         status = CL_CLEAN;
         goto done;
     }
-    if ((uint64_t)sb.st_size > engine->maxfilesize) {
+    if ((engine->maxfilesize > 0) && ((uint64_t)sb.st_size > engine->maxfilesize)) {
         cli_dbgmsg("cl_scandesc_callback: File too large (" STDu64 " bytes), ignoring\n", (uint64_t)sb.st_size);
         if (scanoptions->heuristic & CL_SCAN_HEURISTIC_EXCEEDS_MAX) {
             if (engine->cb_virus_found)
@@ -5365,7 +5365,7 @@
 
 cl_error_t cl_scanmap_callback(cl_fmap_t *map, const char *filename, const char **virname, unsigned long int *scanned, const struct cl_engine *engine, struct cl_scan_options *scanoptions, void *context)
 {
-    if (map->len > engine->maxfilesize) {
+    if ((engine->maxfilesize > 0) && (map->len > engine->maxfilesize)) {
         cli_dbgmsg("cl_scandesc_callback: File too large (%zu bytes), ignoring\n", map->len);
         if (scanoptions->heuristic & CL_SCAN_HEURISTIC_EXCEEDS_MAX) {
             if (engine->cb_virus_found)
diff -Nru clamav-0.103.4+dfsg/libclamav/version.h clamav-0.103.5+dfsg/libclamav/version.h
--- clamav-0.103.4+dfsg/libclamav/version.h	2021-11-02 16:48:37.000000000 +0100
+++ clamav-0.103.5+dfsg/libclamav/version.h	2022-01-11 00:18:33.000000000 +0100
@@ -1 +1 @@
-#define REPO_VERSION "devel-f5770f662"
+#define REPO_VERSION "devel-5faab1937"
diff -Nru clamav-0.103.4+dfsg/libfreshclam/libfreshclam_internal.c clamav-0.103.5+dfsg/libfreshclam/libfreshclam_internal.c
--- clamav-0.103.4+dfsg/libfreshclam/libfreshclam_internal.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/libfreshclam/libfreshclam_internal.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *  Copyright (C) 2002-2007 Tomasz Kojm <tk...@clamav.net>
  *
@@ -166,12 +166,12 @@
 
 fc_error_t load_freshclam_dat(void)
 {
-    fc_error_t status      = FC_EINIT;
-    int handle             = -1;
-    ssize_t bread          = 0;
+    fc_error_t status        = FC_EINIT;
+    int handle               = -1;
+    ssize_t bread            = 0;
     freshclam_dat_v1_t *mdat = NULL;
-    uint32_t version       = 0;
-    char magic[13]         = {0};
+    uint32_t version         = 0;
+    char magic[13]           = {0};
 
     /* Change directory to database directory */
     if (chdir(g_databaseDirectory)) {
@@ -251,7 +251,7 @@
                 free(g_freshclamDat);
             }
             g_freshclamDat = mdat;
-            mdat         = NULL;
+            mdat           = NULL;
             break;
         }
         default: {
diff -Nru clamav-0.103.4+dfsg/m4/reorganization/version.m4 clamav-0.103.5+dfsg/m4/reorganization/version.m4
--- clamav-0.103.4+dfsg/m4/reorganization/version.m4	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/m4/reorganization/version.m4	2022-01-11 00:17:45.000000000 +0100
@@ -3,7 +3,7 @@
 dnl For beta,                  set: VERSION="<version>-beta"
 dnl For release candidate,     set: VERSION="<version>-rc"
 dnl For release,               set: VERSION="<version>"
-VERSION="0.103.4"
+VERSION="0.103.5"
 
 major=`echo $PACKAGE_VERSION |cut -d. -f1 | sed -e "s/[^0-9]//g"`
 minor=`echo $PACKAGE_VERSION |cut -d. -f2 | sed -e "s/[^0-9]//g"`
diff -Nru clamav-0.103.4+dfsg/NEWS.md clamav-0.103.5+dfsg/NEWS.md
--- clamav-0.103.4+dfsg/NEWS.md	2021-11-02 16:47:46.000000000 +0100
+++ clamav-0.103.5+dfsg/NEWS.md	2022-01-11 00:17:45.000000000 +0100
@@ -3,6 +3,40 @@
 Note: This file refers to the source tarball. Things described here may differ
  slightly from the binary packages.
 
+## 0.103.5
+
+ClamAV 0.103.5 is a critical patch release with the following fixes:
+
+- [CVE-2022-20698](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-20698):
+  Fix for invalid pointer read that may cause a crash.
+  Affects 0.104.1, 0.103.4 and prior when ClamAV is compiled with libjson-c and
+  the `CL_SCAN_GENERAL_COLLECT_METADATA` scan option (the `clamscan --gen-json`
+  option) is enabled.
+
+  Cisco would like to thank Laurent Delosieres of ManoMano for reporting this
+  vulnerability.
+
+- Fixed ability to disable the file size limit with libclamav C API, like this:
+  ```c
+    cl_engine_set_num(engine, CL_ENGINE_MAX_FILESIZE, 0);
+  ```
+  This issue didn't impact ClamD or ClamScan which also can disable the limit by
+  setting it to zero using `MaxFileSize 0` in `clamd.conf` for ClamD, or
+  `clamscan --max-filesize=0` for ClamScan.
+
+  Note: Internally, the max file size is still set to 2 GiB. Disabling the limit
+  for a scan will fall back on the internal 2 GiB limitation.
+
+- Increased the maximum line length for ClamAV config files from 512 bytes to
+  1024 bytes to allow for longer config option strings.
+
+- SigTool: Fix insufficient buffer size for `--list-sigs` that caused a failure
+  when listing a database containing one or more very long signatures.
+  This fix was backported from 0.104.
+
+Special thanks to the following for code contributions and bug reports:
+- Laurent Delosieres
+
 ## 0.103.4
 
 ClamAV 0.103.4 is a critical patch release with the following fixes:
diff -Nru clamav-0.103.4+dfsg/shared/misc.c clamav-0.103.5+dfsg/shared/misc.c
--- clamav-0.103.4+dfsg/shared/misc.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/shared/misc.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -328,7 +328,7 @@
     exit(0);
 }
 
-int daemonize_parent_wait(const char * const user, const char * const log_file)
+int daemonize_parent_wait(const char *const user, const char *const log_file)
 {
     int daemonizePid = daemonize_all_return();
     if (daemonizePid == -1) {
@@ -352,8 +352,8 @@
             return -1;
         }
 
-        if (NULL != user){
-            if (drop_privileges(user, log_file)){
+        if (NULL != user) {
+            if (drop_privileges(user, log_file)) {
                 return -1;
             }
         }
@@ -374,13 +374,14 @@
     kill(parentPid, SIGINT);
 }
 
-int drop_privileges( const char * const user_name, const char * const log_file) {
+int drop_privileges(const char *const user_name, const char *const log_file)
+{
     int ret = 1;
 
     /*This function is called in a bunch of places, and rather than change the error checking
      * in every function, we are just going to return success if there is no work to do.
      */
-    if ((0 == geteuid()) && (NULL != user_name)){
+    if ((0 == geteuid()) && (NULL != user_name)) {
         struct passwd *user = NULL;
 
         if ((user = getpwnam(user_name)) == NULL) {
@@ -404,14 +405,14 @@
 #endif
 
         /*Change ownership of the log file to the user we are going to switch to.*/
-        if (NULL != log_file){
+        if (NULL != log_file) {
             int ret = lchown(log_file, user->pw_uid, user->pw_gid);
-            if (ret){
+            if (ret) {
                 fprintf(stderr, "ERROR: lchown to user '%s' failed on\n", user->pw_name);
                 fprintf(stderr, "log file '%s'.\n", log_file);
                 fprintf(stderr, "Error was '%s'\n", strerror(errno));
                 logg("^lchown to user '%s' failed on log file '%s'.  Error was '%s'\n",
-                        user->pw_name, log_file, strerror(errno));
+                     user->pw_name, log_file, strerror(errno));
                 goto done;
             }
         }
diff -Nru clamav-0.103.4+dfsg/shared/misc.h clamav-0.103.5+dfsg/shared/misc.h
--- clamav-0.103.4+dfsg/shared/misc.h	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/shared/misc.h	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
@@ -91,13 +91,13 @@
  * function is being called as root, the ownership of log_file will
  * be changed to user.
  */
-int daemonize_parent_wait(const char * const user, const char * const log_file);
+int daemonize_parent_wait(const char *const user, const char *const log_file);
 
 /*Sends a SIGINT to the parent process.  It also closes stdin, stdout,
  * and stderr.*/
 void daemonize_signal_parent(pid_t parentPid);
 
-int drop_privileges( const char * const user, const char * const log_file);
+int drop_privileges(const char *const user, const char *const log_file);
 #endif /* _WIN32 */
 
 const char *get_version(void);
diff -Nru clamav-0.103.4+dfsg/shared/optparser.c clamav-0.103.5+dfsg/shared/optparser.c
--- clamav-0.103.4+dfsg/shared/optparser.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/shared/optparser.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2008-2013 Sourcefire, Inc.
  *
  *  Author: Tomasz Kojm <tk...@clamav.net>
@@ -897,7 +897,7 @@
     const char *name = NULL, *arg;
     int i, err = 0, lc = 0, sc = 0, opt_index, line = 0, ret;
     struct optstruct *opts = NULL, *opts_last = NULL, *opt;
-    char buffer[512], *buff;
+    char buffer[1024], *buff;
     struct option longopts[MAXCMDOPTS];
     char shortopts[MAXCMDOPTS];
     regex_t regex;
diff -Nru clamav-0.103.4+dfsg/shared/output.c clamav-0.103.5+dfsg/shared/output.c
--- clamav-0.103.4+dfsg/shared/output.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/shared/output.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm
diff -Nru clamav-0.103.4+dfsg/shared/win/cert_util_win.c clamav-0.103.5+dfsg/shared/win/cert_util_win.c
--- clamav-0.103.4+dfsg/shared/win/cert_util_win.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/shared/win/cert_util_win.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  *  OpenSSL certificate verification for Windows.
  *
- *  Copyright (C) 2019-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2019-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *
  *  Authors: Micah Snyder
  *
@@ -46,8 +46,8 @@
     cl_error_t ret = CL_EOPEN;
     int pt_err;
 
-    cert_store_t *store        = NULL;
-    bool locked                = false;
+    cert_store_t *store = NULL;
+    bool locked         = false;
 
     hStore = CertOpenSystemStoreA(NULL, "ROOT");
     if (NULL == hStore) {
@@ -75,7 +75,7 @@
     }
 
     store->system_certs.count        = 0;
-	store->system_certs.certificates = NULL;
+    store->system_certs.certificates = NULL;
 
     while (NULL != (pWinCertContext = CertEnumCertificatesInStore(hStore, pWinCertContext))) {
         int addCertResult                 = 0;
@@ -88,9 +88,9 @@
             continue;
         }
 
-		store->system_certs.certificates = realloc(
+        store->system_certs.certificates = realloc(
             store->system_certs.certificates,
-			(numCertificatesFound + 1) * sizeof(*store->system_certs.certificates));
+            (numCertificatesFound + 1) * sizeof(*store->system_certs.certificates));
         if (store->system_certs.certificates == NULL) {
             mprintf("!Failed to reserve memory for system cert list\n");
             goto done;
@@ -122,7 +122,6 @@
         numCertificatesFound++;
     }
 
-
     lastError = GetLastError();
     switch (lastError) {
         case E_INVALIDARG:
diff -Nru clamav-0.103.4+dfsg/sigtool/sigtool.c clamav-0.103.5+dfsg/sigtool/sigtool.c
--- clamav-0.103.4+dfsg/sigtool/sigtool.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/sigtool/sigtool.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *  Copyright (C) 2002-2007 Tomasz Kojm <tk...@clamav.net>
  *
@@ -1473,7 +1473,7 @@
         return -1;
     }
 
-    if (!(buffer = (char *)malloc(FILEBUFF))) {
+    if (!(buffer = (char *)malloc(CLI_DEFAULT_LSIG_BUFSIZE + 1))) {
         mprintf("!listdb: Can't allocate memory for buffer\n");
         fclose(fh);
         return -1;
@@ -1534,7 +1534,7 @@
 
     if (cli_strbcasestr(filename, ".db")) { /* old style database */
 
-        while (fgets(buffer, FILEBUFF, fh)) {
+        while (fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh)) {
             if (regex) {
                 cli_chomp(buffer);
                 if (!cli_regexec(regex, buffer, 0, NULL, 0))
@@ -1564,7 +1564,7 @@
         }
 
     } else if (cli_strbcasestr(filename, ".crb")) {
-        while (fgets(buffer, FILEBUFF, fh)) {
+        while (fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh)) {
             cli_chomp(buffer);
 
             if (buffer[0] == '#')
@@ -1581,7 +1581,7 @@
         }
     } else if (cli_strbcasestr(filename, ".hdb") || cli_strbcasestr(filename, ".hdu") || cli_strbcasestr(filename, ".mdb") || cli_strbcasestr(filename, ".mdu") || cli_strbcasestr(filename, ".hsb") || cli_strbcasestr(filename, ".hsu") || cli_strbcasestr(filename, ".msb") || cli_strbcasestr(filename, ".msu") || cli_strbcasestr(filename, ".imp")) { /* hash database */
 
-        while (fgets(buffer, FILEBUFF, fh)) {
+        while (fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh)) {
             cli_chomp(buffer);
             if (regex) {
                 if (!cli_regexec(regex, buffer, 0, NULL, 0))
@@ -1611,7 +1611,7 @@
 
     } else if (cli_strbcasestr(filename, ".ndb") || cli_strbcasestr(filename, ".ndu") || cli_strbcasestr(filename, ".ldb") || cli_strbcasestr(filename, ".ldu") || cli_strbcasestr(filename, ".sdb") || cli_strbcasestr(filename, ".zmd") || cli_strbcasestr(filename, ".rmd") || cli_strbcasestr(filename, ".cdb")) {
 
-        while (fgets(buffer, FILEBUFF, fh)) {
+        while (fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh)) {
             cli_chomp(buffer);
             if (regex) {
                 if (!cli_regexec(regex, buffer, 0, NULL, 0))
@@ -1643,7 +1643,7 @@
         }
 
     } else if (cli_strbcasestr(filename, ".cbc")) {
-        if (fgets(buffer, FILEBUFF, fh) && fgets(buffer, FILEBUFF, fh)) {
+        if (fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh) && fgets(buffer, CLI_DEFAULT_LSIG_BUFSIZE, fh)) {
             pt = strchr(buffer, ';');
             if (!pt) { /* not a real sig */
                 fclose(fh);
@@ -3511,7 +3511,7 @@
     mprintf("\n");
     mprintf("                      Clam AntiVirus: Signature Tool %s\n", get_version());
     mprintf("           By The ClamAV Team: https://www.clamav.net/about.html#credits\n";);
-    mprintf("           (C) 2021 Cisco Systems, Inc.\n");
+    mprintf("           (C) 2022 Cisco Systems, Inc.\n");
     mprintf("\n");
     mprintf("    sigtool [options]\n");
     mprintf("\n");
diff -Nru clamav-0.103.4+dfsg/unit_tests/check_jsnorm.c clamav-0.103.5+dfsg/unit_tests/check_jsnorm.c
--- clamav-0.103.4+dfsg/unit_tests/check_jsnorm.c	2021-11-02 16:47:47.000000000 +0100
+++ clamav-0.103.5+dfsg/unit_tests/check_jsnorm.c	2022-01-11 00:17:45.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  *  Unit tests for JS normalizer.
  *
- *  Copyright (C) 2013-2021 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+ *  Copyright (C) 2013-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2008-2013 Sourcefire, Inc.
  *
  *  Authors: Török Edvin
@@ -76,7 +76,7 @@
 
 START_TEST(test_operators)
 {
-    const struct operator*op = in_op_set(op_test[_i].str, strlen(op_test[_i].str));
+    const struct operator* op = in_op_set(op_test[_i].str, strlen(op_test[_i].str));
     if (op_test[_i].is)
         ck_assert_msg(op && !strcmp(op->name, op_test[_i].str), "operator mismatch");
     else

Reply via email to