[arch-commits] Commit in libtasn1/trunk (PKGBUILD buffer_overflow_fix.diff)

andyrtr at archlinux.org andyrtr at archlinux.org
Mon Nov 26 14:45:29 UTC 2012


    Date: Monday, November 26, 2012 @ 09:45:28
  Author: andyrtr
Revision: 172016

upgpkg: libtasn1 3.1-1

upstream update 3.1

Added:
  libtasn1/trunk/buffer_overflow_fix.diff
Modified:
  libtasn1/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   15 ++++++---
 buffer_overflow_fix.diff |   75 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-11-26 14:36:27 UTC (rev 172015)
+++ PKGBUILD	2012-11-26 14:45:28 UTC (rev 172016)
@@ -3,7 +3,7 @@
 # Contributor: judd <jvinet at zeroflux.org>
 
 pkgname=libtasn1
-pkgver=3.0
+pkgver=3.1
 pkgrel=1
 pkgdesc="The ASN.1 library used in GNUTLS"
 arch=('i686' 'x86_64')
@@ -12,12 +12,19 @@
 depends=('glibc' 'texinfo')
 options=('!libtool')
 install=libtasn1.install
-source=(http://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig})
-sha1sums=('0ce12f8b0460ae6eabf2a608506dbd337bf78a71'
-          '48abf083dc9d36cc64f0d80cebd3da1dbc47d557')
+source=(http://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig}
+        buffer_overflow_fix.diff)
+md5sums=('a3c713c41a9a73851235dc37051be46f'
+         '43500f54858ffe021e5fd20896b165ad'
+         '4c9e248a4198d9710bf2f822a7c447a5')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+
+  # corrected possible buffer overflow in parser errors. 
+  # http://git.savannah.gnu.org/gitweb/?p=libtasn1.git;a=commit;h=aa6e97f68d6c8d06f531d9b6bb462dc1c0720f77
+  patch -Np1 -i ${srcdir}/buffer_overflow_fix.diff
+  
   ./configure --prefix=/usr \
       --with-packager=Archlinux \
       --with-packager-bug-reports="http://bugs.archlinux.org/" \

Added: buffer_overflow_fix.diff
===================================================================
--- buffer_overflow_fix.diff	                        (rev 0)
+++ buffer_overflow_fix.diff	2012-11-26 14:45:28 UTC (rev 172016)
@@ -0,0 +1,75 @@
+From aa6e97f68d6c8d06f531d9b6bb462dc1c0720f77 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav at gnutls.org>
+Date: Sun, 25 Nov 2012 14:16:24 +0100
+Subject: [PATCH] corrected possible buffer overflow in parser errors.
+
+---
+ lib/ASN1.c |    6 +++---
+ lib/ASN1.y |    6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/lib/ASN1.c b/lib/ASN1.c
+index 2a60527..df6fb64 100644
+--- a/lib/ASN1.c
++++ b/lib/ASN1.c
+@@ -119,7 +119,7 @@ static unsigned int line_number;	/* line number describing the
+ 					   parser position inside the
+ 					   file */
+ static char last_error[ASN1_MAX_ERROR_DESCRIPTION_SIZE] = "";
+-static char last_error_token[ASN1_MAX_NAME_SIZE+1] = ""; /* used when expected errors occur */
++static char last_error_token[ASN1_MAX_ERROR_DESCRIPTION_SIZE+1] = ""; /* used when expected errors occur */
+ static char last_token[ASN1_MAX_NAME_SIZE+1] = ""; /* last token find in the file
+ 					   to parse before the 'parse
+ 					   error' */
+@@ -3283,7 +3283,7 @@ _asn1_yyerror (const char *s)
+       strcmp (last_token, "TeletexString") == 0 ||
+       strcmp (last_token, "BMPString") == 0)
+     {
+-      snprintf (last_error_token, ASN1_MAX_ERROR_DESCRIPTION_SIZE,
++      snprintf (last_error_token, sizeof(last_error_token),
+                 "%s", last_token);
+       fprintf(stderr, 
+                "%s:%u: Warning: %s is a built-in ASN.1 type.\n",
+@@ -3294,7 +3294,7 @@ _asn1_yyerror (const char *s)
+ 
+   if (result_parse != ASN1_NAME_TOO_LONG)
+     {
+-      snprintf (last_error, ASN1_MAX_ERROR_DESCRIPTION_SIZE,
++      snprintf (last_error, sizeof(last_error),
+                 "%s:%u: Error: %s near '%s'", file_name,
+                 line_number, s, last_token);
+       result_parse = ASN1_SYNTAX_ERROR;
+diff --git a/lib/ASN1.y b/lib/ASN1.y
+index 874eb13..e0add54 100644
+--- a/lib/ASN1.y
++++ b/lib/ASN1.y
+@@ -42,7 +42,7 @@ static unsigned int line_number;	/* line number describing the
+ 					   parser position inside the
+ 					   file */
+ static char last_error[ASN1_MAX_ERROR_DESCRIPTION_SIZE] = "";
+-static char last_error_token[ASN1_MAX_NAME_SIZE+1] = ""; /* used when expected errors occur */
++static char last_error_token[ASN1_MAX_ERROR_DESCRIPTION_SIZE+1] = ""; /* used when expected errors occur */
+ static char last_token[ASN1_MAX_NAME_SIZE+1] = ""; /* last token find in the file
+ 					   to parse before the 'parse
+ 					   error' */
+@@ -869,7 +869,7 @@ _asn1_yyerror (const char *s)
+       strcmp (last_token, "TeletexString") == 0 ||
+       strcmp (last_token, "BMPString") == 0)
+     {
+-      snprintf (last_error_token, ASN1_MAX_ERROR_DESCRIPTION_SIZE,
++      snprintf (last_error_token, sizeof(last_error_token),
+                 "%s", last_token);
+       fprintf(stderr, 
+                "%s:%u: Warning: %s is a built-in ASN.1 type.\n",
+@@ -880,7 +880,7 @@ _asn1_yyerror (const char *s)
+ 
+   if (result_parse != ASN1_NAME_TOO_LONG)
+     {
+-      snprintf (last_error, ASN1_MAX_ERROR_DESCRIPTION_SIZE,
++      snprintf (last_error, sizeof(last_error),
+                 "%s:%u: Error: %s near '%s'", file_name,
+                 line_number, s, last_token);
+       result_parse = ASN1_SYNTAX_ERROR;
+-- 
+1.7.2.5
+




More information about the arch-commits mailing list