summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gettext.scm5
-rw-r--r--gnu/packages/patches/gettext-msgunfmt.patch58
2 files changed, 2 insertions, 61 deletions
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 9289946178..6be3093bd6 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -35,15 +35,14 @@
 (define-public gnu-gettext
   (package
     (name "gettext")
-    (version "0.19.4")
+    (version "0.19.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gettext/gettext-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca"))
-             (patches (list (search-patch "gettext-msgunfmt.patch")))))
+               "0fppvj4l9maa9q1swvhnv96hsqxx90vcjbdyjhqpir3ll55q2n0j"))))
     (build-system gnu-build-system)
     (inputs
      `(("expat" ,expat)))
diff --git a/gnu/packages/patches/gettext-msgunfmt.patch b/gnu/packages/patches/gettext-msgunfmt.patch
deleted file mode 100644
index 4a50abddc2..0000000000
--- a/gnu/packages/patches/gettext-msgunfmt.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From <http://git.savannah.gnu.org/cgit/gettext.git/patch/?id=5d3eeaa0d3b7f4f6932bd29d859925a940b69459>.
-
-2015-03-11  Daiki Ueno  <ueno@gnu.org>
-
-	msgunfmt: Check allocated size for static segment
-	Reported by Max Lin in:
-	http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html
-	* read-mo.c (get_sysdep_string): Check if the embedded segment
-	size is valid, before adding it to the string length.
-
-diff --git a/gettext-tools/src/read-mo.c b/gettext-tools/src/read-mo.c
-index b97bbad..1c024a8 100644
---- a/gettext-tools/src/read-mo.c
-+++ b/gettext-tools/src/read-mo.c
-@@ -149,6 +149,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
-   nls_uint32 s_offset;
- 
-   /* Compute the length.  */
-+  s_offset = get_uint32 (bfp, offset);
-   length = 0;
-   for (i = 4; ; i += 8)
-     {
-@@ -158,9 +159,14 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
-       nls_uint32 ss_length;
-       nls_uint32 ss_offset;
-       size_t ss_end;
-+      size_t s_end;
-       size_t n;
- 
-+      s_end = xsum (s_offset, segsize);
-+      if (size_overflow_p (s_end) || s_end > bfp->size)
-+        error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
-       length += segsize;
-+      s_offset += segsize;
- 
-       if (sysdepref == SEGMENTS_END)
-         break;
-@@ -175,7 +181,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
-       ss_end = xsum (ss_offset, ss_length);
-       if (size_overflow_p (ss_end) || ss_end > bfp->size)
-         error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
--      if (!(ss_length > 0 && bfp->data[ss_offset + ss_length - 1] == '\0'))
-+      if (!(ss_length > 0 && bfp->data[ss_end - 1] == '\0'))
-         {
-           char location[30];
-           sprintf (location, "sysdep_segment[%u]", (unsigned int) sysdepref);
-@@ -198,11 +204,8 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
-       nls_uint32 sysdep_segment_offset;
-       nls_uint32 ss_length;
-       nls_uint32 ss_offset;
--      size_t s_end = xsum (s_offset, segsize);
-       size_t n;
- 
--      if (size_overflow_p (s_end) || s_end > bfp->size)
--        error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
-       memcpy (p, bfp->data + s_offset, segsize);
-       p += segsize;
-       s_offset += segsize;