mirror of
https://github.com/CTCaer/hekate.git
synced 2024-12-25 15:17:19 +00:00
lvgl: Fix edge case in lv_label_set_text
This fixes an edge case where the original label set was done with set_static_text, the next one with set_text and the text is at the same address. The incomplete check would think that the text resides on heap and it would reallocate it as such, effectively corrupting .data on the next sets.
This commit is contained in:
parent
9c2202fa39
commit
a39ba2cd71
@ -156,7 +156,7 @@ void lv_label_set_text(lv_obj_t * label, const char * text)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ext->text == text) {
|
if(ext->text == text && ext->static_txt == 0) {
|
||||||
/*If set its own text then reallocate it (maybe its size changed)*/
|
/*If set its own text then reallocate it (maybe its size changed)*/
|
||||||
ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1);
|
ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1);
|
||||||
lv_mem_assert(ext->text);
|
lv_mem_assert(ext->text);
|
||||||
|
Loading…
Reference in New Issue
Block a user