/ Check-in [04885763]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Minor change for compatibility with the s390 architecture.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 04885763c4cd00cbca26d048f2b19316bfc93e8edebeceaa171ebfc6c563d53e
User & Date: drh 2020-01-28 15:02:23
Context
2020-01-28
16:55
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 91214891 user: dan tags: trunk)
15:02
Minor change for compatibility with the s390 architecture. (check-in: 04885763 user: drh tags: trunk)
2020-01-27
19:55
Version 3.31.1 (check-in: 3bfa9cc9 user: drh tags: trunk, release, version-3.31.1)
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/insert.c.

  2166   2166               VdbeOp x;    /* Conflict check opcode to copy */
  2167   2167               /* The sqlite3VdbeAddOp4() call might reallocate the opcode array.
  2168   2168               ** Hence, make a complete copy of the opcode, rather than using
  2169   2169               ** a pointer to the opcode. */
  2170   2170               x = *sqlite3VdbeGetOp(v, addrConflictCk);
  2171   2171               if( x.opcode!=OP_IdxRowid ){
  2172   2172                 int p2;      /* New P2 value for copied conflict check opcode */
         2173  +              const char *zP4;
  2173   2174                 if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){
  2174   2175                   p2 = lblRecheckOk;
  2175   2176                 }else{
  2176   2177                   p2 = x.p2;
  2177   2178                 }
  2178         -              sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type);
         2179  +              zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z;
         2180  +              sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type);
  2179   2181                 sqlite3VdbeChangeP5(v, x.p5);
  2180   2182                 VdbeCoverageIf(v, p2!=x.p2);
  2181   2183               }
  2182   2184               nConflictCk--;
  2183   2185               addrConflictCk++;
  2184   2186             }
  2185   2187             /* If the retest fails, issue an abort */