SQLite

Check-in [18740bd448]
Login

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

Overview
Comment:Fix the dbtotxt decoder in the CLI so that it ignores excess bytes.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 18740bd448887d618fafee0b5a7c004aa2f2632244f7d29e2428772baa36b828
User & Date: drh 2018-12-13 22:58:52.532
Context
2018-12-14
03:16
Report corruption when an attempt is made to write a pointer-map page that is also being used as a btree page. Also, fix a bug in fuzzcheck that cause it to overlook a pointer-map bug that was trigger by the fuzzcheck test data, and also fix the pointer-map bug. (check-in: cc42dd1510 user: drh tags: trunk)
02:29
Fix a bug in the custom in-memory VFS used by fuzzcheck. This bug masks other bugs that should have caused some existing fuzzdata7.db entries to fail, and so this fix is initially on a branch until those other bugs can be repaired. (check-in: e0994e9995 user: drh tags: fuzzcheck-fix)
2018-12-13
22:58
Fix the dbtotxt decoder in the CLI so that it ignores excess bytes. (check-in: 18740bd448 user: drh tags: trunk)
21:52
dbfuzz2 found a NEVER() that is sometimes true. (check-in: 1201615cbb user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/shell.c.in.
3782
3783
3784
3785
3786
3787
3788
3789
3790


3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3782
3783
3784
3785
3786
3787
3788


3789
3790

3791

3792
3793
3794
3795
3796
3797
3798







-
-
+
+
-

-







    }
    rc = sscanf(zLine,"| %d: %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx"
                      "  %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx",
                &j, &x[0], &x[1], &x[2], &x[3], &x[4], &x[5], &x[6], &x[7],
                &x[8], &x[9], &x[10], &x[11], &x[12], &x[13], &x[14], &x[15]);
    if( rc==17 ){
      k = iOffset+j;
      if( k+16>n ){
        utf8_printf(stderr, "continue exceeds file size\n");
      if( k+16<=n ){
        memcpy(a+k, x, 16);
        goto readHexDb_error;
      }
      memcpy(a+k, x, 16);
    }
  }
  *pnData = n;
  if( in!=p->in ){
    fclose(in);
  }else{
    p->lineno = nLine;