Hello everyone,
I use Valgrind to check my programs and this last found leaks in libmysqlclient.so.
My code is simple:


 char * requete = "SELECT * FROM "NOM_TABLE_1;
 MYSQL * mysql = mysql_init((MYSQL *)NULL);
 MYSQL_RES * mysql_resultat;
 MYSQL_ROW mysql_ligne;
 if(mysql == NULL)
 {
   return(-1);
 }
 if (!mysql_real_connect(mysql, ADRESSE_BDD, LOGIN_BDD, PASSWORD_BDD, NOM_BDD, 0, 
NULL, 0))
 {
   fprintf(stderr, "Impossible de se connecter au serveur %s\n Error=%s\n", 
ADRESSE_BDD, mysql_error(mysql));
   mysql_close(mysql);
   return(-1);
 }
 if(mysql_query(mysql, requete) != 0)
 {
   fprintf(stderr, "Impossible d'executer la requête %s\nError=%s\n", requete, 
mysql_error(mysql));
 }
 else
 {
   mysql_resultat = mysql_store_result(mysql);
   if(mysql_resultat != NULL)
   {
     for(i = 0; i < mysql_resultat->row_count; i++)
     {
       mysql_ligne = mysql_fetch_row(mysql_resultat);
       // traitement
     }
   }
   mysql_free_result(mysql_resultat);
 }
 mysql_close(mysql);

Result of Valgrind: ==3691== 64 bytes in 1 blocks are still reachable in loss record 1 of 2
==3691== at 0x4015E310: malloc (vg_clientfuncs.c:103)
==3691== by 0x40254A2D: my_malloc (in /usr/lib/mysql/libmysqlclient.so.10.0.0)
==3691== by 0x4025A218: init_dynamic_array (in /usr/lib/mysql/libmysqlclient.so.10.0.0)
==3691== by 0x4025AE96: init_available_charsets (in /usr/lib/mysql/ libmysqlclient.so.10.0.0)
==3691== ==3691== 4088 bytes in 1 blocks are still reachable in loss record 2 of 2
==3691== at 0x4015E310: malloc (vg_clientfuncs.c:103)
==3691== by 0x4025A64C: my_once_alloc (in /usr/lib/mysql/libmysqlclient.so.10.0.0)
==3691== by 0x4025ACB0: read_charset_index (in /usr/lib/mysql/libmysqlclient.so.10.0.0)
==3691== by 0x4025AEAB: init_available_charsets (in /usr/lib/mysql/ libmysqlclient.so.10.0.0)


Is it a BUG or did I something?

Best regards,

--
Andreï V. FOMITCHEV             [Quand faut-il arrêter l'informatique]
Software R&D Engineer  [Lorsque, dans un kilo, on trouve 1024 grammes]
Odixion SAS, FRANCE



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to