Posted to tcl by oldlaptop at Tue Sep 14 13:00:22 GMT 2021view pretty

$ valgrind ./sqltclsh                                                                                                                                                                                                                                 
==5160== Memcheck, a memory error detector
==5160== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==5160== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==5160== Command: ./sqltclsh
==5160== 
% sqlite3 db :memory:
% db transaction { db close }
==5160== Invalid read of size 1
==5160==    at 0x144BB0: sqlite3SafetyCheckOk (sqltclsh.c:33318)
==5160==    by 0x1A3411: sqlite3_exec (sqltclsh.c:126586)
==5160==    by 0x1C6071: DbTransPostCmd (sqltclsh.c:240427)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Address 0x4de8f9d is 109 bytes inside a block of size 712 free'd
==5160==    at 0x48399AB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166915)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166869)
==5160==    by 0x1972DC: sqlite3_close (sqltclsh.c:166958)
==5160==    by 0x1972DC: DbDeleteCmd (sqltclsh.c:239725)
==5160==    by 0x48AEDD5: Tcl_DeleteCommandFromToken (in /usr/lib/libtcl8.6.so)
==5160==    by 0x1CA502: DbObjCmd (sqltclsh.c:241416)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Block was alloc'd at
==5160==    at 0x483877F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x143AE2: sqlite3MemMalloc (sqltclsh.c:24557)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28283)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28269)
==5160==    by 0x125767: sqlite3MallocZero (sqltclsh.c:28522)
==5160==    by 0x1919BE: openDatabase (sqltclsh.c:168845)
==5160==    by 0x1922FB: sqlite3_open_v2 (sqltclsh.c:169130)
==5160==    by 0x1922FB: DbMain (sqltclsh.c:243013)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160== 
==5160== Invalid read of size 1
==5160==    at 0x144C21: sqlite3SafetyCheckSickOrOk (sqltclsh.c:33331)
==5160==    by 0x144C21: sqlite3_errmsg (sqltclsh.c:168219)
==5160==    by 0x1C608F: DbTransPostCmd (sqltclsh.c:240439)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Address 0x4de8f9d is 109 bytes inside a block of size 712 free'd
==5160==    at 0x48399AB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166915)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166869)
==5160==    by 0x1972DC: sqlite3_close (sqltclsh.c:166958)
==5160==    by 0x1972DC: DbDeleteCmd (sqltclsh.c:239725)
==5160==    by 0x48AEDD5: Tcl_DeleteCommandFromToken (in /usr/lib/libtcl8.6.so)
==5160==    by 0x1CA502: DbObjCmd (sqltclsh.c:241416)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Block was alloc'd at
==5160==    at 0x483877F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x143AE2: sqlite3MemMalloc (sqltclsh.c:24557)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28283)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28269)
==5160==    by 0x125767: sqlite3MallocZero (sqltclsh.c:28522)
==5160==    by 0x1919BE: openDatabase (sqltclsh.c:168845)
==5160==    by 0x1922FB: sqlite3_open_v2 (sqltclsh.c:169130)
==5160==    by 0x1922FB: DbMain (sqltclsh.c:243013)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160== 
==5160== Invalid read of size 1
==5160==    at 0x144BB0: sqlite3SafetyCheckOk (sqltclsh.c:33318)
==5160==    by 0x1A3411: sqlite3_exec (sqltclsh.c:126586)
==5160==    by 0x1C60BA: DbTransPostCmd (sqltclsh.c:240442)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Address 0x4de8f9d is 109 bytes inside a block of size 712 free'd
==5160==    at 0x48399AB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166915)
==5160==    by 0x1763C3: sqlite3Close (sqltclsh.c:166869)
==5160==    by 0x1972DC: sqlite3_close (sqltclsh.c:166958)
==5160==    by 0x1972DC: DbDeleteCmd (sqltclsh.c:239725)
==5160==    by 0x48AEDD5: Tcl_DeleteCommandFromToken (in /usr/lib/libtcl8.6.so)
==5160==    by 0x1CA502: DbObjCmd (sqltclsh.c:241416)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160==  Block was alloc'd at
==5160==    at 0x483877F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5160==    by 0x143AE2: sqlite3MemMalloc (sqltclsh.c:24557)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28283)
==5160==    by 0x125767: sqlite3Malloc (sqltclsh.c:28269)
==5160==    by 0x125767: sqlite3MallocZero (sqltclsh.c:28522)
==5160==    by 0x1919BE: openDatabase (sqltclsh.c:168845)
==5160==    by 0x1922FB: sqlite3_open_v2 (sqltclsh.c:169130)
==5160==    by 0x1922FB: DbMain (sqltclsh.c:243013)
==5160==    by 0x48B0E31: TclNRRunCallbacks (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B2CF3: ??? (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3462: Tcl_EvalEx (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3485: Tcl_Eval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x48B3B52: Tcl_GlobalEval (in /usr/lib/libtcl8.6.so)
==5160==    by 0x113AAF: main (sqltclsh.c:243200)
==5160== 
Error: bad parameter or other API misuse
% ==5160== 
==5160== HEAP SUMMARY:
==5160==     in use at exit: 438,676 bytes in 41 blocks
==5160==   total heap usage: 148 allocs, 107 frees, 516,661 bytes allocated
==5160== 
==5160== LEAK SUMMARY:
==5160==    definitely lost: 0 bytes in 0 blocks
==5160==    indirectly lost: 0 bytes in 0 blocks
==5160==      possibly lost: 404,480 bytes in 22 blocks
==5160==    still reachable: 34,196 bytes in 19 blocks
==5160==         suppressed: 0 bytes in 0 blocks
==5160== Rerun with --leak-check=full to see details of leaked memory
==5160== 
==5160== For lists of detected and suppressed errors, rerun with: -s
==5160== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)