mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
Fix PowerPC segfault.
The segfault fix was originally developed by our upstream, sqlite.org, to address S/390 and Sparc segfaults, both of which are big endian. Our PowerPC is also big endian, which this patch also fixes. Inspired by: src r360223 Approved by: Approved by: portmgr (blanket: run-time bugfix) Obtained from: https://www.sqlite.org/src/vinfo/04885763c4cd00cb?diff=1 https://sqlite.org/forum/forumpost/672291a5b2
This commit is contained in:
parent
4d132139a1
commit
1ff56b9f93
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=532729
18
databases/sqlite3/files/patch-sqlite3.c
Normal file
18
databases/sqlite3/files/patch-sqlite3.c
Normal file
@ -0,0 +1,18 @@
|
||||
--- sqlite3.c.orig 2020-01-27 12:25:19.000000000 -0800
|
||||
+++ sqlite3.c 2020-04-23 19:24:26.380323000 -0700
|
||||
@@ -121302,12 +121302,14 @@
|
||||
x = *sqlite3VdbeGetOp(v, addrConflictCk);
|
||||
if( x.opcode!=OP_IdxRowid ){
|
||||
int p2; /* New P2 value for copied conflict check opcode */
|
||||
+ const char *zP4;
|
||||
if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){
|
||||
p2 = lblRecheckOk;
|
||||
}else{
|
||||
p2 = x.p2;
|
||||
}
|
||||
- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type);
|
||||
+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z;
|
||||
+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type);
|
||||
sqlite3VdbeChangeP5(v, x.p5);
|
||||
VdbeCoverageIf(v, p2!=x.p2);
|
||||
}
|
Loading…
Reference in New Issue
Block a user