木古古18 2022-09-28 17:28 采纳率: 25%
浏览 83
已结题

mysql c api 内存泄露问题

我用valgrind检查以下语句是否存在内容泄露,按照网上说的在close后增加mysql_library_end()语句,结果还是出现内存泄露,代码如下:


mysql_library_init(0, NULL, NULL);
MYSQL *conn = mysql_init(NULL);
mysql_close(conn);
mysql_library_end();

mysql、mysql-devel、openssl这些库也更新成最新的了,用的centos系统

内存泄露的内容:
==69986== 16,384 bytes in 1 blocks are still reachable in loss record 593 of 593
==69986== at 0x4C2FAA9: realloc (vg_replace_malloc.c:1437)
==69986== by 0x4s8FDAA: CRYPTO_realloc (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4z8F4FB: OPENSSL_LH_insert (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4x7517C: err_load_strings (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4F75532: ERR_load_strings_const (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x509C5B5: ERR_load_ENGINE_strings (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x506D61D: err_load_crypto_strings_int (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4F8D48B: ossl_init_load_crypto_strings_ossl_ (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x62B120A: __pthread_once_slow (in /usr/lib64/libpthread-2.17.so)
==69986== by 0x4FD8B54: CRYPTO_THREAD_run_once (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4F8D6ED: OPENSSL_init_crypto (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)
==69986== by 0x4F08DC3: OPENSSL_init_ssl (in /usr/lib64/mysql/libmysqlclient.so.20.3.25)

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 17:36
    关注
    获得2.85元问题酬金

    return false前应该关闭conn吧
    在return false前加上
    mysql_close(conn);
    mysql_library_end();

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 修改了问题 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
  • ¥15 有关“完美的代价”问题的代码漏洞
  • ¥15 请帮我看一下这个简易化学配平器的逻辑有什么问题吗?
  • ¥15 暴力法无法解出,可能要使用dp和数学知识
  • ¥15 wpf通过绑定控件自身的值,来实现背景颜色的切换
  • ¥15 CDH6.3 运行hive -e hive -e "show databases;"报错:hive-env.sh:行24: hbase-common.jar: 权限不够
  • ¥15 SSRS制作的报表打开报错,无法正常显示网页
  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 javaweb项目无法正常跳转