Closed tsutsui closed 4 years ago
変数のスコープをちゃんとわかっていないので場所がダメかも。
あと、これは別 issue で書くべきかもしれませんが streaming_recieved() の
streaming_recieved()
char **json_recieved = NULL; int json_recieved_len = 0; // ストリーミングで受信したJSON(接続維持用データを取り除き一体化したもの) void streaming_recieved(void) { json_recieved = realloc(json_recieved, (json_recieved_len + 1) * sizeof( char *)); json_recieved[json_recieved_len] = strdup(streaming_json);
にある json_recieved と json_recieved_len って使われているんでしょうか?
json_recieved
json_recieved_len
(あと、ますます関係ないですが recieved じゃなくて received ですね……)
recieved
received
結構痛いメモリリークですね… 発見ありがとうございます
それとそのjson_recievedですが、届いたJSON全保存してるやつで、一時期json.logというファイルに全部投げ込んでた頃の名残です(明日消します
17 以外にも free() が足りてないような気がしたので適当に足してみました。
変数のスコープをちゃんとわかっていないので場所がダメかも。
あと、これは別 issue で書くべきかもしれませんが
streaming_recieved()
のにある
json_recieved
とjson_recieved_len
って使われているんでしょうか?(あと、ますます関係ないですが
recieved
じゃなくてreceived
ですね……)