From 99b106022c8db67ee9bde847e1677e2dd0a39923 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 22 Nov 2019 22:16:32 +0100 Subject: [PATCH] gnu: xsane: Fix snprintf buffer length. * gnu/packages/scanner.scm (xsane)[source]: Add patch. * gnu/packages/patches/xsane-fix-snprintf-buffer-length.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../xsane-fix-snprintf-buffer-length.patch | 72 +++++++++++++++++++ gnu/packages/scanner.scm | 1 + 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/patches/xsane-fix-snprintf-buffer-length.patch diff --git a/gnu/local.mk b/gnu/local.mk index ebb392494b..e6c6f57c3f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1466,6 +1466,7 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xsane-fix-memory-leak.patch \ %D%/packages/patches/xsane-fix-pdf-floats.patch \ + %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ %D%/packages/patches/xsane-support-ipv6.patch \ %D%/packages/patches/xsane-tighten-default-umask.patch diff --git a/gnu/packages/patches/xsane-fix-snprintf-buffer-length.patch b/gnu/packages/patches/xsane-fix-snprintf-buffer-length.patch new file mode 100644 index 0000000000..412e127f5a --- /dev/null +++ b/gnu/packages/patches/xsane-fix-snprintf-buffer-length.patch @@ -0,0 +1,72 @@ +From 893a5ce1f75e5eea7c8d383038ff92a150819c9c Mon Sep 17 00:00:00 2001 +From: Ralph Little +Date: Thu, 19 Sep 2019 22:02:33 -0700 +Subject: [PATCH] xsane-*-project.c - reduced snprintf format pad to silence + warning about too long constrant string for buffer. + +--- + src/xsane-email-project.c | 4 ++-- + src/xsane-fax-project.c | 4 ++-- + src/xsane-multipage-project.c | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/xsane-email-project.c b/src/xsane-email-project.c +index f20cb12..ac93fc2 100644 +--- a/src/xsane-email-project.c ++++ b/src/xsane-email-project.c +@@ -896,7 +896,7 @@ static void xsane_email_project_update_project_status() + snprintf(filename, sizeof(filename), "%s/xsane-mail-list", preferences.email_project); + projectfile = fopen(filename, "r+b"); /* r+ = read and write, position = start of file */ + +- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */ ++ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */ + fprintf(projectfile, "%s\n", buf); /* first line is status of email */ + + fclose(projectfile); +@@ -936,7 +936,7 @@ void xsane_email_project_save() + { + char buf[TEXTBUFSIZE]; + +- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */ ++ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */ + fprintf(projectfile, "%s\n", buf); /* first line is status of email */ + gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.email_status)); + xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0); +diff --git a/src/xsane-fax-project.c b/src/xsane-fax-project.c +index f263313..0c60a97 100644 +--- a/src/xsane-fax-project.c ++++ b/src/xsane-fax-project.c +@@ -452,7 +452,7 @@ static void xsane_fax_project_update_project_status() + snprintf(filename, sizeof(filename), "%s/xsane-fax-list", preferences.fax_project); + projectfile = fopen(filename, "r+b"); /* r+ = read and write, position = start of file */ + +- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */ ++ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */ + fprintf(projectfile, "%s\n", buf); /* first line is status of mail */ + + fclose(projectfile); +@@ -498,7 +498,7 @@ void xsane_fax_project_save() + { + char buf[TEXTBUFSIZE]; + +- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */ ++ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */ + fprintf(projectfile, "%s\n", buf); /* first line is status of mail */ + gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.fax_status)); + xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0); +diff --git a/src/xsane-multipage-project.c b/src/xsane-multipage-project.c +index f23e5f8..9392e00 100644 +--- a/src/xsane-multipage-project.c ++++ b/src/xsane-multipage-project.c +@@ -522,7 +522,7 @@ void xsane_multipage_project_save() + { + char buf[TEXTBUFSIZE]; + +- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.multipage_status); /* fill 32 characters status line */ ++ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.multipage_status); /* fill 32 characters status line */ + fprintf(projectfile, "%s\n", buf); /* first line is status of multipage */ + gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.multipage_status)); + xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0); +-- +2.23.0 + diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index aa58b5aa50..98f7fd203a 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -171,6 +171,7 @@ (define-public xsane ;; commits upstream. A 1.0 release is planned. (patches (search-patches "xsane-fix-memory-leak.patch" "xsane-fix-pdf-floats.patch" + "xsane-fix-snprintf-buffer-length.patch" "xsane-support-ipv6.patch" "xsane-tighten-default-umask.patch")) (modules '((guix build utils)))