pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/sqlite databases/sqlite: add a minor fix to ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8031d49ae8ae
branches:  trunk
changeset: 381036:8031d49ae8ae
user:      he <he%pkgsrc.org@localhost>
date:      Fri Jun 24 15:42:10 2022 +0000

description:
databases/sqlite: add a minor fix to the lemon tool.

On NetBSD/powerpc, 'hash' ended up negative, causing a SEGV.
Instead, make the variable unsigned.
Bump PKGREVISION.

diffstat:

 databases/sqlite/Makefile                   |   4 ++--
 databases/sqlite/distinfo                   |   3 ++-
 databases/sqlite/patches/patch-tool_lemon.c |  26 ++++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 3 deletions(-)

diffs (57 lines):

diff -r 2086fc756062 -r 8031d49ae8ae databases/sqlite/Makefile
--- a/databases/sqlite/Makefile Fri Jun 24 13:48:45 2022 +0000
+++ b/databases/sqlite/Makefile Fri Jun 24 15:42:10 2022 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.47 2020/01/26 17:30:54 rillig Exp $
+# $NetBSD: Makefile,v 1.48 2022/06/24 15:42:10 he Exp $
 
 DISTNAME=              sqlite-2.8.17
-PKGREVISION=           1
+PKGREVISION=           2
 CATEGORIES=            databases
 MASTER_SITES=          http://www.hwaci.com/sw/sqlite/
 MASTER_SITES+=         http://www.sqlite.org/
diff -r 2086fc756062 -r 8031d49ae8ae databases/sqlite/distinfo
--- a/databases/sqlite/distinfo Fri Jun 24 13:48:45 2022 +0000
+++ b/databases/sqlite/distinfo Fri Jun 24 15:42:10 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.27 2021/10/26 10:10:05 nia Exp $
+$NetBSD: distinfo,v 1.28 2022/06/24 15:42:10 he Exp $
 
 BLAKE2s (sqlite-2.8.17.tar.gz) = 2750dd8a0682b2047139de66b6a184b08e7674cb92846c629561604fc130fe37
 SHA512 (sqlite-2.8.17.tar.gz) = 966e0b7f7ebbaaa9e1899864475040946fd7b66363be778d29fadd5184623b1e62644f3c8d4c4ecd001b88044befa7c34d9de9f68590329a1a8301d854b73e3f
@@ -6,3 +6,4 @@
 SHA1 (patch-Makefile.in) = a7e6d0c15b6bd4c8c0f3a7123e82a145b3848703
 SHA1 (patch-aa) = 4df2eff8c92b3e2bff86c710ef1a803d54201559
 SHA1 (patch-ab) = 00b7de05589fb62d511e26d0d864a8b5545967c8
+SHA1 (patch-tool_lemon.c) = 118f2cf965dd4eaddef7228bdca89f9cae26d7c3
diff -r 2086fc756062 -r 8031d49ae8ae databases/sqlite/patches/patch-tool_lemon.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/sqlite/patches/patch-tool_lemon.c       Fri Jun 24 15:42:10 2022 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-tool_lemon.c,v 1.1 2022/06/24 15:42:10 he Exp $
+
+Avoid either undefined or implementation defined behaviour,
+by making the base hash variable unsigned, so that we avoid
+it ever going negative (as it did on powerpc).
+
+--- tool/lemon.c.orig  2005-04-23 22:43:22.000000000 +0000
++++ tool/lemon.c
+@@ -3016,7 +3016,7 @@ int mhflag;                 /* True if g
+   int maxdtlength;          /* Maximum length of any ".datatype" field. */
+   char *stddt;              /* Standardized name for a datatype */
+   int i,j;                  /* Loop counters */
+-  int hash;                 /* For hashing the name of a type */
++  unsigned int hash;        /* For hashing the name of a type */
+   char *name;               /* Name of the parser */
+ 
+   /* Allocate and initialize types[] and allocate stddt[] */
+@@ -3068,7 +3068,7 @@ int mhflag;                 /* True if g
+     for(j=0; stddt[j]; j++){
+       hash = hash*53 + stddt[j];
+     }
+-    hash = (hash & 0x7fffffff)%arraysize;
++    hash = hash % arraysize;
+     while( types[hash] ){
+       if( strcmp(types[hash],stddt)==0 ){
+         sp->dtnum = hash + 1;



Home | Main Index | Thread Index | Old Index