tasn pushed a commit to branch master.
commit 4ee59335e2ebbd60f219c17c91f70b52be2541f6
Author: Tom Hacohen <[email protected]>
Date: Thu Mar 21 13:34:15 2013 +0000
Genlist: Fixed off by 1 errors.
Strncat writes at most n+1 chars, not n...
---
src/lib/elm_genlist.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 40fb162..982495f 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -1086,10 +1086,10 @@ _decorate_all_item_realize(Elm_Gen_Item *it,
strncpy(buf, "tree", sizeof(buf));
else strncpy(buf, "item", sizeof(buf));
if (GL_IT(it)->wsd->mode == ELM_LIST_COMPRESS)
- strncat(buf, "_compress", sizeof(buf) - strlen(buf));
+ strncat(buf, "_compress", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, "/", sizeof(buf) - strlen(buf));
- strncat(buf, it->itc->decorate_all_item_style, sizeof(buf) - strlen(buf));
+ strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, it->itc->decorate_all_item_style, sizeof(buf) - strlen(buf) -
1);
elm_widget_theme_object_set(WIDGET(it), it->deco_all_view, "genlist", buf,
elm_widget_style_get(WIDGET(it)));
@@ -4616,12 +4616,12 @@ _decorate_item_realize(Elm_Gen_Item *it)
strncpy(buf, "item", sizeof(buf));
if (GL_IT(it)->wsd->mode == ELM_LIST_COMPRESS)
- strncat(buf, "_compress", sizeof(buf) - strlen(buf));
+ strncat(buf, "_compress", sizeof(buf) - strlen(buf) - 1);
if (it->item->order_num_in & 0x1)
- strncat(buf, "_odd", sizeof(buf) - strlen(buf));
- strncat(buf, "/", sizeof(buf) - strlen(buf));
- strncat(buf, it->itc->decorate_item_style, sizeof(buf) - strlen(buf));
+ strncat(buf, "_odd", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, it->itc->decorate_item_style, sizeof(buf) - strlen(buf) - 1);
elm_widget_theme_object_set
(WIDGET(it), it->item->deco_it_view, "genlist", buf,
--
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar