| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
  [2006-02-15 15:02 UTC] joh at deworks dot net
 Description:
------------
PDO_MYSQL prepared statement INSERTs either result in corrupt data or SQLSTATE[HY000]: General error: 5 Out of memory (Needed 4261477896 bytes)
This works perfectly with PDO_SQLITE.
Reproduce code:
---------------
CREATE TABLE test (id INT PRIMARY KEY AUTO_INCREMENT, col1 VARCHAR(255), col2 VARCHAR(255), col3 VARCHAR(255), col4 VARCHAR(255), col5 VARCHAR(255));
$dbh = new PDO('mysql:host=localhost;dbname=...', '...', '...');
$sql = 'INSERT INTO test(col1, col2, col3, col4, col5) VALUES(:col1, :col2, :col3, :col4, :col5)';
$stmt = DB::$dbh->prepare($sql);
$col1 = 'TestCol1';
$col2 = 'TestCol2';
$col3 = 'TestCol3';
$col4 = 'TestCol4';
$col5 = 'TestCol5';
$stmt->bindParam(':col1', $col1);
$stmt->bindParam(':col2', $col2);
$stmt->bindParam(':col3', $col3);
$stmt->bindParam(':col4', $col4);
$stmt->bindParam(':col5', $col5);
$stmt->execute();
Expected result:
----------------
No outupt, mysql table test contains rows according to the query.
Actual result:
--------------
Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2013 Lost connection to MySQL server during query' in file.php:125
Stack trace:
#0 file.php(125): PDOStatement->execute()
#1 {main}
  thrown in file.php on line 125
Decreasing the number of parameters to 4 (col1, col2, col3, col4) results in:
Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 5 Out of memory (Needed 4261477896 bytes)' in file.php:141
Stack trace:
#0 file.php(141): PDOStatement->execute()
#1 {main}
  thrown in file.php on line 141
Decreasing the number of parameters to 3 or less (here: col1, col2, col3) results in a successfull query, but corrupt inserted data:
mysql> SELECT * FROM test;
+----+------+------+------+------+------+
| id | col1 | col2 | col3 | col4 | col5 |
+----+------+------+------+------+------+
|  2 |      | \uffff    |      | NULL | NULL |
+----+------+------+------+------+------+
1 row in set (0.00 sec)
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             | 
    |||||||||||||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 12:00:01 2025 UTC | 
PHP configured with --disable-zend-memory-manager root@c-ubn51:~/php/php5.2-200609200230# valgrind --tool=memcheck ./sapi/cli/php ./test.php ==30665== Memcheck, a memory error detector. ==30665== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==30665== Using LibVEX rev 1367, a library for dynamic binary translation. ==30665== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==30665== Using valgrind-3.0.1, a dynamic binary instrumentation framework. ==30665== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==30665== For more details, rerun with: -v ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C7D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E483C: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4908: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E72F0: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C8C: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E483C: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4908: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E72F0: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C9B: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E483C: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4908: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E72F0: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) --30665-- DWARF2 CFI reader: unhandled CFI instruction 0:50 --30665-- DWARF2 CFI reader: unhandled CFI instruction 0:50 ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC82D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E6403: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC852: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E6403: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC6F7: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E6455: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC700: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E6455: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC852: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E6455: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8F254A: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4CE6: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8E4796: (within /lib/ld-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C3E: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BD4ECEC: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BD4F2FA: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1BD4ED3C: dlopen (in /lib/tls/libdl-2.3.5.so) ==30665== by 0x822F15C: php_dl (dl.c:140) ==30665== by 0x82AB133: php_load_function_extension_cb (php_ini.c:235) ==30665== by 0x82DCDB8: zend_llist_apply (zend_llist.c:191) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C4D: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BD4ECEC: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BD4F2FA: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1BD4ED3C: dlopen (in /lib/tls/libdl-2.3.5.so) ==30665== by 0x822F15C: php_dl (dl.c:140) ==30665== by 0x82AB133: php_load_function_extension_cb (php_ini.c:235) ==30665== by 0x82DCDB8: zend_llist_apply (zend_llist.c:191) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C5C: (within /lib/ld-2.3.5.so) ==30665== by 0x1B8EA24D: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BD4ECEC: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BD4F2FA: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1BD4ED3C: dlopen (in /lib/tls/libdl-2.3.5.so) ==30665== by 0x822F15C: php_dl (dl.c:140) ==30665== by 0x82AB133: php_load_function_extension_cb (php_ini.c:235) ==30665== by 0x82DCDB8: zend_llist_apply (zend_llist.c:191) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC82D: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DF79: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BD4ECEC: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BD4F2FA: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1BD4ED3C: dlopen (in /lib/tls/libdl-2.3.5.so) ==30665== by 0x822F15C: php_dl (dl.c:140) ==30665== by 0x82AB133: php_load_function_extension_cb (php_ini.c:235) ==30665== by 0x82DCDB8: zend_llist_apply (zend_llist.c:191) ==30665== by 0x82AB259: php_ini_register_extensions (php_ini.c:563) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8EC852: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DF79: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BD4ECEC: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BD4F2FA: (within /lib/tls/libdl-2.3.5.so) ==30665== by 0x1BD4ED3C: dlopen (in /lib/tls/libdl-2.3.5.so) ==30665== by 0x822F15C: php_dl (dl.c:140) ==30665== by 0x82AB133: php_load_function_extension_cb (php_ini.c:235) ==30665== by 0x82DCDB8: zend_llist_apply (zend_llist.c:191) ==30665== by 0x82AB259: php_ini_register_extensions (php_ini.c:563) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4CE3: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2ACFE: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4CEE: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2ACFE: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4CF9: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2ACFE: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4D04: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2ACFE: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C3E: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AD26: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C4D: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AD26: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C5C: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AD26: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) ==30665== ==30665== Conditional jump or move depends on uninitialised value(s) ==30665== at 0x1B8F4C6B: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4DE15: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE4EAB7: _dl_open (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE5002C: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1B8EF105: (within /lib/ld-2.3.5.so) ==30665== by 0x1BE5010D: __libc_dlopen_mode (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AB75: __nss_lookup_function (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2AD26: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE2C562: (within /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30B15: getprotobyname_r (in /lib/tls/libc-2.3.5.so) ==30665== by 0x1BE30930: getprotobyname (in /lib/tls/libc-2.3.5.so) PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2013 Lost connection to MySQL server during query' in /opt/sitebuilder/include/Zend/Zend/Db/Adapter/Abstract.php:156 Stack trace: #0 /opt/sitebuilder/include/Zend/Zend/Db/Adapter/Abstract.php(156): PDOStatement->execute(Array) #1 /opt/sitebuilder/include/Zend/Zend/Db/Adapter/Abstract.php(227): Zend_Db_Adapter_Abstract->query('INSERT INTO log...', Array) #2 /root/php/php5.2-200609200230/test.php(24): Zend_Db_Adapter_Abstract->insert('log', Array) #3 {main} thrown in /opt/sitebuilder/include/Zend/Zend/Db/Adapter/Abstract.php on line 156 ==30665== ==30665== ERROR SUMMARY: 61 errors from 21 contexts (suppressed: 0 from 0) ==30665== malloc/free: in use at exit: 51908 bytes in 1248 blocks. ==30665== malloc/free: 15865 allocs, 14617 frees, 2032501 bytes allocated. ==30665== For counts of detected errors, rerun with: -v ==30665== searching for pointers to 1248 not-freed blocks. ==30665== checked 862980 bytes. ==30665== ==30665== LEAK SUMMARY: ==30665== definitely lost: 32704 bytes in 8 blocks. ==30665== possibly lost: 0 bytes in 0 blocks. ==30665== still reachable: 19204 bytes in 1240 blocks. ==30665== suppressed: 0 bytes in 0 blocks. ==30665== Use --leak-check=full to see details of leaked memory.