diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/mail.scm | 24 | ||||
-rw-r--r-- | gnu/packages/patches/mailutils-uninitialized-memory.patch | 87 |
3 files changed, 5 insertions, 107 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index ba86d556a0..56c434d0a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -938,7 +938,6 @@ dist_patch_DATA = \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \ %D%/packages/patches/lyx-2.2.3-fix-test.patch \ - %D%/packages/patches/mailutils-uninitialized-memory.patch \ %D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/mariadb-gcc-ice.patch \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e7e440bcf7..7d6ea741d7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -126,24 +126,14 @@ (define-public mailutils (package (name "mailutils") - (version "3.4") + (version "3.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" - version ".tar.bz2")) + version ".tar.xz")) (sha256 (base32 - "1dn71p85wlyisnwsb485sk3q5v393k3dizsa9fmimskdwjwgk3ch")) - (patches - (search-patches "mailutils-uninitialized-memory.patch")) - (snippet - ;; For a rebuild of the Flex/Bison byproducts touched by the - ;; patch above. - '(begin - (for-each delete-file - '("mh/mh_alias_lex.c" - "libmailutils/cfg/parser.c")) - #t)))) + "1wx275w38fwni2abc8g7g3irbk332vr34byxd72zqfdiznsqgims")))) (build-system gnu-build-system) (arguments '(#:phases @@ -197,16 +187,12 @@ #:configure-flags '("--sysconfdir=/etc") #:parallel-tests? #f)) (native-inputs - ;; Note: Bison and Flex needed due to - ;; 'mailutils-uninitialized-memory.patch'. - `(("bison" ,bison) - ("flex" ,flex) - ("perl" ,perl))) ;for 'gylwrap' + `(("perl" ,perl))) ;for 'gylwrap' (inputs `(("dejagnu" ,dejagnu) ("m4" ,m4) ("texinfo" ,texinfo) - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("gnutls" ,gnutls) ("ncurses" ,ncurses) ("readline" ,readline) diff --git a/gnu/packages/patches/mailutils-uninitialized-memory.patch b/gnu/packages/patches/mailutils-uninitialized-memory.patch deleted file mode 100644 index ef4daf94cb..0000000000 --- a/gnu/packages/patches/mailutils-uninitialized-memory.patch +++ /dev/null @@ -1,87 +0,0 @@ -Without this patch, the MH test suite would fail when building with -glibc 2.26, with 'ali' segfaulting like this: - - Core was generated by `/tmp/guix-build-mailutils-3.4.drv-0/mailutils-3.4/mh/.libs/ali -a ./Mail/mh_ali'. - Program terminated with signal SIGSEGV, Segmentation fault. - #0 0x00007f8eac263a14 in hash ( - name=0x72642e342e332d73 <error: Cannot access memory at address 0x72642e342e332d73>, hash_num=0) at assoc.c:102 - 102 for (i = 0; *name; name++) - (gdb) bt - #0 0x00007f8eac263a14 in hash ( - name=0x72642e342e332d73 <error: Cannot access memory at address 0x72642e342e332d73>, hash_num=0) at assoc.c:102 - #1 0x00007f8eac263e6b in assoc_find_slot (assoc=0xaa59e0, - name=0x72642e342e332d73 <error: Cannot access memory at address 0x72642e342e332d73>, install=0x0, slot=0x7ffcddcbf2b8) at assoc.c:219 - #2 0x00007f8eac264124 in mu_assoc_lookup (assoc=0xaa59e0, - name=0x72642e342e332d73 <error: Cannot access memory at address 0x72642e342e332d73>, dataptr=0x7ffcddcbf2e0) at assoc.c:308 - #3 0x00007f8eac29e8ac in mu_ident_deref ( - name=0x72642e342e332d73 <error: Cannot access memory at address 0x72642e342e332d73>) at ident.c:98 - #4 0x00007f8eac29f8a6 in mu_locus_point_deinit (pt=0xaa5718) at locus.c:48 - #5 0x00007f8eac29fa1b in mu_locus_range_deinit (lr=0xaa5718) at locus.c:99 - #6 0x00007f8eac29f9db in mu_locus_range_copy (dest=0xaa5718, - src=0x622be0 <ali_yylloc>) at locus.c:89 - #7 0x0000000000408a2a in push_source (name=0xaa74bc "mh_aliases2", fail=1) - at mh_alias_lex.l:170 - -commit b330af9008e4c9168b379867b854f5900a539ad7 -Author: Sergey Poznyakoff <gray@gnu.org> -Date: Sat Nov 18 10:15:48 2017 +0200 - - Fix the use of uninitialized memory - - * mh/mh_alias_lex.l (push_source): Initialize locus range prior to copying - to it. - * libmailutils/cfg/parser.y (mu_cfg_tree_create_node): Likewise. - * libmu_sieve/util.c: (mu_sieve_value_create): Likewise. - -diff --git a/libmailutils/cfg/parser.y b/libmailutils/cfg/parser.y -index 4503c7781..3436b8d90 100644 ---- a/libmailutils/cfg/parser.y -+++ b/libmailutils/cfg/parser.y -@@ -1134,10 +1134,9 @@ mu_cfg_tree_create_node (struct mu_cfg_tree *tree, - - np = mu_alloc (size); - np->type = type; -+ mu_locus_range_init (&np->locus); - if (loc) - mu_locus_range_copy (&np->locus, loc); -- else -- memset (&np->locus, 0, sizeof np->locus); - p = (char*) (np + 1); - np->tag = p; - strcpy (p, tag); -diff --git a/libmu_sieve/sieve-lex.l b/libmu_sieve/sieve-lex.l -index fd145bfe1..f14e80194 100644 ---- a/libmu_sieve/sieve-lex.l -+++ b/libmu_sieve/sieve-lex.l -@@ -190,6 +190,7 @@ push_source (const char *name) - { - ctx = mu_sieve_malloc (mu_sieve_machine, sizeof (*ctx)); - ctx->trk = trk; -+ mu_locus_range_init (&ctx->incl_range); - mu_locus_range_copy (&ctx->incl_range, &yylloc); - ctx->i_node = sieve_source_inode; - ctx->input = input_stream; -diff --git a/libmu_sieve/util.c b/libmu_sieve/util.c -index 8d62a60c2..7d71b5509 100644 ---- a/libmu_sieve/util.c -+++ b/libmu_sieve/util.c -@@ -55,6 +55,7 @@ mu_sieve_value_create (mu_sieve_machine_t mach, mu_sieve_data_type type, - val->locus.end.mu_line = locus->end.mu_line; - val->locus.end.mu_col = locus->end.mu_col; - -+ mu_locus_range_init (&val->locus); - mu_locus_range_copy (&val->locus, locus); - switch (type) - { -diff --git a/mh/mh_alias_lex.l b/mh/mh_alias_lex.l -index 371353ed3..b97264b38 100644 ---- a/mh/mh_alias_lex.l -+++ b/mh/mh_alias_lex.l -@@ -167,6 +167,7 @@ push_source (const char *name, int fail) - { - ctx = mu_alloc (sizeof (*ctx)); - ctx->trk = trk; -+ mu_locus_range_init (&ctx->incl_range); - mu_locus_range_copy (&ctx->incl_range, &yylloc); - ctx->exec_p = exec_p; - ctx->i_node = ali_source_inode; |