記錄發現的乙個hiredis的bug

2022-03-28 06:37:38 字數 655 閱讀 4685

hiredis是redis官方提供的c客戶端庫。在讀**的過程中,發現了乙個bug,記錄一下。

hiredis裡定義了乙個上下文結構(struct rediscontext),**如下(deps/hiredis/hiredis.h):

157

/*context for a connection to redis

*/158 typedef struct

rediscontext rediscontext;

針對這個結構,有乙個對應的free function,**如下(deps/hiredis/hiredis.c):

1004

void redisfree(rediscontext *c)

對照下,可以看到,定義中obuf成員使用的是char* ,而在釋放操作時,卻是按照sds結構(redis自己定義的類string資料結構)進行的釋放。

如果再看下sdsfree的函式(deps/hiredis/sds.c),就能看到可能造成的災難性後果:

76

void

sdsfree(sds s)

如上。在hiredis的github中,錯誤仍可以看到。

剛給redis db郵件組發了封郵件,不知是否會被回覆。

乙個666的發現

記憶中應該是以前做到過這樣乙個題,關於等邊三角形的然後用matlab畫了一下,當時就震驚了,所以畫了個圖記下來,今天忽然看到這個圖,所以就發上來存著了。描述 線段邊長記為b,在邊長上擷取一段記為a,那麼有以下關係 實際上,他們兩個相差最大不超過0.05。並且假設x a b的話,有0 x 1,當x 0...

發現乙個csdn的bug

怎麼進入個人資訊更改頭像進入的窗體不能最大化呢?很大的化不利於裁剪,鬱悶中.另一bug為共享的時候出現 說明 執行當前 web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以了解有關該錯誤以及 中導致錯誤的出處的詳細資訊。異常詳細資訊 system.net.sockets.socketexcep...

發現ExtJs Chart的乙個Bug

在使用 extjs 3.0 的 chart 做乙個 stacked bar 圖形的時候,發現資料多的時候,每個條形的寬度會變的很小,大片的空間都是空的,很浪費,於是想通過樣式來控制其寬度,如下 取自 extjs examples 目錄下的 stacked bar chart.js series 顯示...