src/dblib/unittests/t0001

Main

Hostnamekrb5.freetds.io
uname -aLinux krb5.freetds.io 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
date2024-04-18

==16244== Memcheck, a memory error detector
==16244== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16244== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==16244== Command: ./t0001
==16244== 
--16244-- Valgrind options:
--16244--    --tool=memcheck
--16244--    --vgdb=no
--16244--    --num-callers=20
--16244--    --leak-check=yes
--16244--    -v
--16244--    --show-reachable=yes
--16244--    --log-fd=3
--16244--    --suppressions=/home/test/suppressions.supp
--16244--    --track-origins=yes
--16244-- Contents of /proc/version:
--16244--   Linux version 4.15.0-213-generic (buildd@lcy02-amd64-079) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023
--16244-- 
--16244-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
--16244-- Page sizes: currently 4096, max supported 4096
--16244-- Valgrind library directory: /usr/lib/valgrind
--16244-- Reading syms from /home/test/ftdstmp/ftds_comp100/test4/src/dblib/unittests/t0001
--16244-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
--16244--   .. CRC mismatch (computed 2977d8b2 wanted c64f09ed)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
--16244--   .. CRC is valid
--16244-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
--16244--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
--16244--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
--16244--    object doesn't have a symbol table
--16244--    object doesn't have a dynamic symbol table
--16244-- Scheduler: using generic scheduler lock implementation.
--16244-- Reading suppressions file: /home/test/suppressions.supp
--16244-- Reading suppressions file: /usr/lib/valgrind/default.supp
--16244-- REDIR: 0x4020d20 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
--16244-- REDIR: 0x4020b00 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
--16244-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
--16244--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--16244--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
--16244--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--16244--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
--16244--    object doesn't have a symbol table
==16244== WARNING: new redirection conflicts with existing -- ignoring it
--16244--     old: 0x04020d20 (strlen              ) R-> (0000.0) 0x580608c1 ???
--16244--     new: 0x04020d20 (strlen              ) R-> (2007.0) 0x04c34db0 strlen
--16244-- REDIR: 0x401d540 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c35ee0 (strcmp)
--16244-- REDIR: 0x4021260 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c394f0 (mempcpy)
--16244-- Reading syms from /home/test/ftdstmp/ftds_comp100/src/dblib/.libs/libsybdb.so.5.1.0
--16244-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.27.so
--16244--   Considering /usr/lib/debug/.build-id/1f/06001733b9be9478b105faf0dac6bdf36c85de.debug ..
--16244--   .. build-id is valid
--16244-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
--16244--   .. CRC mismatch (computed f250d419 wanted 4aacab51)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
--16244--   .. CRC is valid
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /lib/x86_64-linux-gnu/libcom_err.so.2.1
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libdl-2.27.so ..
--16244--   .. CRC mismatch (computed 56b0b30d wanted 7867693f)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.27.so ..
--16244--   .. CRC is valid
--16244-- Reading syms from /lib/x86_64-linux-gnu/libkeyutils.so.1.5
--16244--    object doesn't have a symbol table
--16244-- Reading syms from /lib/x86_64-linux-gnu/libresolv-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libresolv-2.27.so ..
--16244--   .. CRC mismatch (computed 0da9c5d1 wanted b111a73d)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libresolv-2.27.so ..
--16244--   .. CRC is valid
--16244-- REDIR: 0x53d3a50 (libc.so.6:memmove) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2d60 (libc.so.6:strncpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3d30 (libc.so.6:strcasecmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d27b0 (libc.so.6:strcat) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2d90 (libc.so.6:rindex) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d5480 (libc.so.6:rawmemchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3bc0 (libc.so.6:mempcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d39f0 (libc.so.6:bcmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2d20 (libc.so.6:strncmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2820 (libc.so.6:strcmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3b20 (libc.so.6:memset) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53f0db0 (libc.so.6:wcschr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2cc0 (libc.so.6:strnlen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2890 (libc.so.6:strcspn) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3d80 (libc.so.6:strncasecmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2860 (libc.so.6:strcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3ec0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2dc0 (libc.so.6:strpbrk) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d27e0 (libc.so.6:index) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d2c90 (libc.so.6:strlen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53dd380 (libc.so.6:memrchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3dd0 (libc.so.6:strcasecmp_l) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d39c0 (libc.so.6:memchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53f1b70 (libc.so.6:wcslen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3070 (libc.so.6:strspn) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3d00 (libc.so.6:stpncpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3cd0 (libc.so.6:stpcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d54b0 (libc.so.6:strchrnul) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3e20 (libc.so.6:strncasecmp_l) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x5466700 (libc.so.6:__memcpy_chk) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x53d3900 (libc.so.6:strstr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16244-- REDIR: 0x54c3280 (libc.so.6:__strrchr_avx2) redirected to 0x4c34730 (rindex)
--16244-- REDIR: 0x54c3450 (libc.so.6:__strlen_avx2) redirected to 0x4c34cf0 (strlen)
--16244-- REDIR: 0x53cc910 (libc.so.6:free) redirected to 0x4c32cd0 (free)
--16244-- REDIR: 0x53cc020 (libc.so.6:malloc) redirected to 0x4c31aa0 (malloc)
--16244-- REDIR: 0x54c3990 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c386e0 (memmove)
--16244-- REDIR: 0x54ba3d0 (libc.so.6:__strncmp_sse42) redirected to 0x4c35570 (__strncmp_sse42)
--16244-- REDIR: 0x53d35a0 (libc.so.6:__GI_strstr) redirected to 0x4c39760 (__strstr_sse2)
--16244-- REDIR: 0x54bf2e0 (libc.so.6:__memchr_avx2) redirected to 0x4c35f80 (memchr)
--16244-- REDIR: 0x54bf1c0 (libc.so.6:__strspn_sse42) redirected to 0x4c39990 (strspn)
--16244-- REDIR: 0x54bef30 (libc.so.6:__strcspn_sse42) redirected to 0x4c398d0 (strcspn)
--16244-- REDIR: 0x54c3090 (libc.so.6:__strchrnul_avx2) redirected to 0x4c39020 (strchrnul)
--16244-- REDIR: 0x54c3970 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c39130 (mempcpy)
found sql2008.tempdb for FREETDS\Administrator in "../../../PWD"
SQL text will be read from ../../../src/dblib/unittests/t0001.sql
Starting ./t0001
--16244-- REDIR: 0x53cf050 (libc.so.6:calloc) redirected to 0x4c33a70 (calloc)
--16244-- REDIR: 0x54c2e60 (libc.so.6:__strchr_avx2) redirected to 0x4c34950 (index)
--16244-- REDIR: 0x54bfe40 (libc.so.6:__strcasecmp_avx) redirected to 0x4c355f0 (strcasecmp)
About to logon as "FREETDS\Administrator"
--16244-- REDIR: 0x54c3e10 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c385d0 (memset)
About to open "sql2008"
--16244-- REDIR: 0x53deb30 (libc.so.6:__strcmp_sse2_unaligned) redirected to 0x4c35da0 (strcmp)
--16244-- REDIR: 0x53ec810 (libc.so.6:__stpcpy_sse2_unaligned) redirected to 0x4c38200 (__stpcpy_sse2_unaligned)
--16244-- Reading syms from /lib/x86_64-linux-gnu/libnss_compat-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libnss_compat-2.27.so ..
--16244--   .. CRC mismatch (computed dc0305b8 wanted 460e4052)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnss_compat-2.27.so ..
--16244--   .. CRC is valid
--16244-- REDIR: 0x53eb200 (libc.so.6:__strcpy_sse2_unaligned) redirected to 0x4c34dd0 (strcpy)
--16244-- Reading syms from /lib/x86_64-linux-gnu/libnss_nis-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libnss_nis-2.27.so ..
--16244--   .. CRC mismatch (computed 38cb38d0 wanted 96404ac2)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnss_nis-2.27.so ..
--16244--   .. CRC is valid
--16244-- Reading syms from /lib/x86_64-linux-gnu/libnsl-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libnsl-2.27.so ..
--16244--   .. CRC mismatch (computed 12772991 wanted 58367bd1)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnsl-2.27.so ..
--16244--   .. CRC is valid
--16244-- Reading syms from /lib/x86_64-linux-gnu/libnss_files-2.27.so
--16244--   Considering /lib/x86_64-linux-gnu/libnss_files-2.27.so ..
--16244--   .. CRC mismatch (computed 2270a715 wanted a5763524)
--16244--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnss_files-2.27.so ..
--16244--   .. CRC is valid
--16244-- REDIR: 0x53cdc50 (libc.so.6:realloc) redirected to 0x4c33cb0 (realloc)
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so
--16244--   Considering /usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so ..
--16244--   .. CRC mismatch (computed 83103428 wanted d26a1d18)
--16244--   Considering /usr/lib/debug/usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so ..
--16244--   .. CRC is valid
--16244-- REDIR: 0x54bfa60 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c37e00 (bcmp)
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
--16244--   Considering /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so ..
--16244--   .. CRC mismatch (computed da5394b1 wanted a59039cd)
--16244--   Considering /usr/lib/debug/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so ..
--16244--   .. CRC is valid
--16244-- REDIR: 0x54c14b0 (libc.so.6:__strncasecmp_avx) redirected to 0x4c356d0 (strncasecmp)
--16244-- REDIR: 0x54c3980 (libc.so.6:__memcpy_chk_avx_unaligned_erms) redirected to 0x4c395e0 (__memcpy_chk)
--16244-- Reading syms from /usr/lib/x86_64-linux-gnu/gconv/CP1252.so
--16244--   Considering /usr/lib/x86_64-linux-gnu/gconv/CP1252.so ..
--16244--   .. CRC mismatch (computed ba33c29d wanted cdb3aa71)
--16244--   Considering /usr/lib/debug/usr/lib/x86_64-linux-gnu/gconv/CP1252.so ..
--16244--   .. CRC is valid
Using database "tempdb"
QUOTED_IDENTIFIER is OFF
	  1: create table #dblib0001 (i int not null, s char(10) not null)
	  1: insert into #dblib0001 values (0, "row 000")
	  1: insert into #dblib0001 values (1, "row 001")
	  1: insert into #dblib0001 values (2, "row 002")
	  1: insert into #dblib0001 values (3, "row 003")
	  1: insert into #dblib0001 values (4, "row 004")
	  1: insert into #dblib0001 values (5, "row 005")
	  1: insert into #dblib0001 values (6, "row 006")
	  1: insert into #dblib0001 values (7, "row 007")
	  1: insert into #dblib0001 values (8, "row 008")
	  1: insert into #dblib0001 values (9, "row 009")
	  1: insert into #dblib0001 values (10, "row 010")
	  1: insert into #dblib0001 values (11, "row 011")
	  1: insert into #dblib0001 values (12, "row 012")
	  1: insert into #dblib0001 values (13, "row 013")
	  1: insert into #dblib0001 values (14, "row 014")
	  1: insert into #dblib0001 values (15, "row 015")
	  1: insert into #dblib0001 values (16, "row 016")
	  1: insert into #dblib0001 values (17, "row 017")
	  1: insert into #dblib0001 values (18, "row 018")
	  1: insert into #dblib0001 values (19, "row 019")
	  1: insert into #dblib0001 values (20, "row 020")
	  1: insert into #dblib0001 values (21, "row 021")
	  1: insert into #dblib0001 values (22, "row 022")
	  1: insert into #dblib0001 values (23, "row 023")
	  1: insert into #dblib0001 values (24, "row 024")
	  1: insert into #dblib0001 values (25, "row 025")
	  1: insert into #dblib0001 values (26, "row 026")
	  1: insert into #dblib0001 values (27, "row 027")
	  1: insert into #dblib0001 values (28, "row 028")
	  1: insert into #dblib0001 values (29, "row 029")
	  1: insert into #dblib0001 values (30, "row 030")
	  1: insert into #dblib0001 values (31, "row 031")
	  1: insert into #dblib0001 values (32, "row 032")
	  1: insert into #dblib0001 values (33, "row 033")
	  1: insert into #dblib0001 values (34, "row 034")
	  1: insert into #dblib0001 values (35, "row 035")
	  1: insert into #dblib0001 values (36, "row 036")
	  1: insert into #dblib0001 values (37, "row 037")
	  1: insert into #dblib0001 values (38, "row 038")
	  1: insert into #dblib0001 values (39, "row 039")
	  1: insert into #dblib0001 values (40, "row 040")
	  1: insert into #dblib0001 values (41, "row 041")
	  1: insert into #dblib0001 values (42, "row 042")
	  1: insert into #dblib0001 values (43, "row 043")
	  1: insert into #dblib0001 values (44, "row 044")
	  1: insert into #dblib0001 values (45, "row 045")
	  1: insert into #dblib0001 values (46, "row 046")
	  1: insert into #dblib0001 values (47, "row 047")
	  1: insert into #dblib0001 values (48, "row 048")
	  1: insert into #dblib0001 values (49, "row 049")
	  1: select * from #dblib0001 order by i
col 1 is i
col 2 is s
Read a row of data -> 0 |row 000   |
Read a row of data -> 1 |row 001   |
Read a row of data -> 2 |row 002   |
Read a row of data -> 3 |row 003   |
Read a row of data -> 4 |row 004   |
Read a row of data -> 5 |row 005   |
Read a row of data -> 6 |row 006   |
Read a row of data -> 7 |row 007   |
Read a row of data -> 8 |row 008   |
Read a row of data -> 9 |row 009   |
Read a row of data -> 10 |row 010   |
Read a row of data -> 11 |row 011   |
Read a row of data -> 12 |row 012   |
Read a row of data -> 13 |row 013   |
Read a row of data -> 14 |row 014   |
Read a row of data -> 15 |row 015   |
Read a row of data -> 16 |row 016   |
Read a row of data -> 17 |row 017   |
Read a row of data -> 18 |row 018   |
Read a row of data -> 19 |row 019   |
Read a row of data -> 20 |row 020   |
Read a row of data -> 21 |row 021   |
Read a row of data -> 22 |row 022   |
Read a row of data -> 23 |row 023   |
Read a row of data -> 24 |row 024   |
Read a row of data -> 25 |row 025   |
Read a row of data -> 26 |row 026   |
Read a row of data -> 27 |row 027   |
Read a row of data -> 28 |row 028   |
Read a row of data -> 29 |row 029   |
Read a row of data -> 30 |row 030   |
Read a row of data -> 31 |row 031   |
Read a row of data -> 32 |row 032   |
Read a row of data -> 33 |row 033   |
Read a row of data -> 34 |row 034   |
Read a row of data -> 35 |row 035   |
Read a row of data -> 36 |row 036   |
Read a row of data -> 37 |row 037   |
Read a row of data -> 38 |row 038   |
Read a row of data -> 39 |row 039   |
Read a row of data -> 40 |row 040   |
Read a row of data -> 41 |row 041   |
Read a row of data -> 42 |row 042   |
Read a row of data -> 43 |row 043   |
Read a row of data -> 44 |row 044   |
Read a row of data -> 45 |row 045   |
Read a row of data -> 46 |row 046   |
Read a row of data -> 47 |row 047   |
Read a row of data -> 48 |row 048   |
Read a row of data -> 49 |row 049   |
--16244-- Discarding syms at 0x7e47710-0x7e4925b in /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so due to munmap()
t0001.c OK
--16244-- Discarding syms at 0x804b600-0x804c508 in /usr/lib/x86_64-linux-gnu/gconv/CP1252.so due to munmap()
--16244-- Discarding syms at 0x7c44600-0x7c45292 in /usr/lib/x86_64-linux-gnu/gconv/ISO8859-1.so due to munmap()
--16244-- Discarding syms at 0x74032a0-0x74091ac in /lib/x86_64-linux-gnu/libnss_compat-2.27.so due to munmap()
--16244-- Discarding syms at 0x760e070-0x76150d9 in /lib/x86_64-linux-gnu/libnss_nis-2.27.so due to munmap()
--16244-- Discarding syms at 0x781c090-0x78298a7 in /lib/x86_64-linux-gnu/libnsl-2.27.so due to munmap()
--16244-- Discarding syms at 0x7a34350-0x7a3ad8f in /lib/x86_64-linux-gnu/libnss_files-2.27.so due to munmap()
==16244== 
==16244== HEAP SUMMARY:
==16244==     in use at exit: 0 bytes in 0 blocks
==16244==   total heap usage: 6,781 allocs, 6,781 frees, 1,912,923 bytes allocated
==16244== 
==16244== All heap blocks were freed -- no leaks are possible
==16244== 
==16244== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==16244== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Main