hashmap.c的swHashMap_node_delete方法是不是有bug?

新手上路,请多包涵

问题描述

在阅读swoole源码的时候,发现hashmap的swHashMap_node_delete函数可能存在问题,uthash的add方法会判断是不是有UT_hash_table结构体,如果没有创建。 但是swoole是自己实现的swHashMap_node_add函数,没有这部分判断。

但是在swHashMap_node_delete函数中,如果表为空,直接把table给free了。这块可能导致root变成野指针,并且add新元素有几率被别的程序覆盖

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

clipboard.png

阅读 754
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进