digital_signal: fix memory leak

This commit is contained in:
g3gg0.de
2023-01-16 10:49:01 +01:00
parent e1c92269f7
commit 34d9fa4529

View File

@@ -292,7 +292,7 @@ void digital_sequence_alloc_sequence(DigitalSequence* sequence, uint32_t size) {
DigitalSequence* digital_sequence_alloc(uint32_t size, const GpioPin* gpio) {
furi_assert(gpio);
DigitalSequence* sequence = malloc(sizeof(DigitalSequence));
sequence->gpio = gpio;
@@ -313,6 +313,7 @@ void digital_sequence_free(DigitalSequence* sequence) {
free(sequence->signals);
free(sequence->sequence);
free(sequence->signals_prolonged);
free(sequence);
}
@@ -333,7 +334,7 @@ void digital_sequence_set_signal(
void digital_sequence_set_sendtime(DigitalSequence* sequence, uint32_t send_time) {
furi_assert(sequence);
sequence->send_time = send_time;
sequence->send_time_active = true;
}
@@ -365,7 +366,7 @@ static void digital_signal_update_dma(DigitalSignal* signal) {
while(prev_remain == LL_DMA_GetDataLength(DMA1, LL_DMA_CHANNEL_2)) {
if(DWT->CYCCNT - prev_timer > wait_ticks) {
restart_needed = true;
break;
break;
}
}
@@ -411,7 +412,7 @@ static bool digital_sequence_send_signal(DigitalSequence* sequence, DigitalSigna
DigitalSignal* digital_sequence_bake(DigitalSequence* sequence) {
furi_assert(sequence);
uint32_t edges = 0;
for(uint32_t pos = 0; pos < sequence->sequence_used; pos++) {