Преглед изворни кода

fix a memory leak in ws2812_buffer_shift by freeing the same amount of bytes we allocated before

Firenox89 пре 3 година
родитељ
комит
0555a4c689
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      app/modules/ws2812.c

+ 2 - 1
app/modules/ws2812.c

@@ -278,7 +278,8 @@ int ws2812_buffer_shift(lua_State* L, ws2812_buffer * buffer, int shiftValue, un
   ws2812_buffer_shift_prepare* prepare = ws2812_buffer_get_shift_prepare(L, buffer, shiftValue, shift_type, pos_start, pos_end);
   ws2812_buffer_shift_prepared(prepare);
   // Free memory
-  luaM_free(L, prepare);
+  luaM_freemem(L, prepare, sizeof(ws2812_buffer_shift_prepare) + prepare->shift_len);
+
   return 0;
 }