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):
1004void redisfree(rediscontext *c)
對照下,可以看到,定義中obuf成員使用的是char* ,而在釋放操作時,卻是按照sds結構(redis自己定義的類string資料結構)進行的釋放。
如果再看下sdsfree的函式(deps/hiredis/sds.c),就能看到可能造成的災難性後果:
76void
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 顯示...