--- source3/modules/vfs_virusfilter_utils.c.orig	2018-02-21 03:34:19 UTC
+++ source3/modules/vfs_virusfilter_utils.c
@@ -391,6 +391,10 @@ bool virusfilter_io_writel(
 
 bool virusfilter_io_writefl(
 	struct virusfilter_io_handle *io_h,
+	const char *data_fmt, ...) PRINTF_ATTRIBUTE(2, 3);
+
+bool virusfilter_io_writefl(
+	struct virusfilter_io_handle *io_h,
 	const char *data_fmt, ...)
 {
 	va_list ap;
@@ -414,6 +418,10 @@ bool virusfilter_io_writefl(
 
 bool virusfilter_io_vwritefl(
 	struct virusfilter_io_handle *io_h,
+	const char *data_fmt, va_list ap) PRINTF_ATTRIBUTE(2, 0);
+
+bool virusfilter_io_vwritefl(
+	struct virusfilter_io_handle *io_h,
 	const char *data_fmt, va_list ap)
 {
 	char data[VIRUSFILTER_IO_BUFFER_SIZE + VIRUSFILTER_IO_EOL_SIZE];
@@ -665,6 +673,11 @@ bool virusfilter_io_readl(TALLOC_CTX *ct
 bool virusfilter_io_writefl_readl(
 	struct virusfilter_io_handle *io_h,
 	char **read_line,
+	const char *fmt, ...) PRINTF_ATTRIBUTE(3, 4);
+
+bool virusfilter_io_writefl_readl(
+	struct virusfilter_io_handle *io_h,
+	char **read_line,
 	const char *fmt, ...)
 {
 	bool ok;
--- source3/modules/vfs_virusfilter.c.orig	2018-02-21 05:40:25 UTC
+++ source3/modules/vfs_virusfilter.c
@@ -275,7 +275,7 @@ static int virusfilter_vfs_connect(
 	temp_quarantine_dir_mode = lp_parm_const_string(
 		snum, "virusfilter", "quarantine directory mode", "0755");
 	if (temp_quarantine_dir_mode != NULL) {
-		sscanf(temp_quarantine_dir_mode, "%o",
+		sscanf(temp_quarantine_dir_mode, "%ho",
 		       &config->quarantine_dir_mode);
 	}
 
