efl_ui_exact_model: fix always true condition
authorStefan Schmidt <s.schmidt@samsung.com>
Fri, 20 Sep 2019 09:19:51 +0000 (11:19 +0200)
committerJongmin Lee <jm105.lee@samsung.com>
Mon, 23 Sep 2019 21:32:19 +0000 (06:32 +0900)
The tbuf binbuffer has already been freed the line above, which means
this condition would always be true as !tbuf would always result in true.
As a result the rest of the function has never been executed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10046

src/lib/elementary/efl_ui_exact_model.c

index 23b97db..b12cfba 100644 (file)
@@ -81,10 +81,11 @@ _efl_ui_exact_model_slot_compress(unsigned int index, Eina_List *compressed, uns
    _efl_ui_exact_model_list_find(list_index, compressed, &l);
 
    tbuf = eina_binbuf_manage_new((unsigned char *) buffer, EFL_UI_EXACT_MODEL_CONTENT_LENGTH, EINA_TRUE);
+   if (!tbuf) return compressed;
+
    cbuf = emile_compress(tbuf, EMILE_LZ4, EMILE_COMPRESSOR_FAST);
    eina_binbuf_free(tbuf);
-
-   if (!tbuf || !cbuf) return compressed;
+   if (!cbuf) return compressed;
 
    // Make sure the list has all the buffer up to the needed one filled with valid data
    if (list_index)