From 135802ad1f72dc71fc4780c562ffe2ee18090cfb Mon Sep 17 00:00:00 2001 From: Shilpa Singh Date: Fri, 12 Feb 2016 21:13:02 +0100 Subject: [PATCH] spinner: crash on illegal format set issue fix. Summary: Set any illegal format, spinner crashes, the format set to spinner has to be valid hence a check is added initially itself to check for validity of label formats. Signed-off-by: Shilpa Singh Test Plan: 1. Set illegal format to spinner for e.g: elm_spinner_label_format_set(sp, "d"); 2. Run spinner demo Crash is observed Reviewers: cedric Subscribers: govi, buds Differential Revision: https://phab.enlightenment.org/D3668 Signed-off-by: Cedric BAIL --- legacy/elementary/src/lib/elm_spinner.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/legacy/elementary/src/lib/elm_spinner.c b/legacy/elementary/src/lib/elm_spinner.c index 0e94cf1195..252bb8d1dc 100644 --- a/legacy/elementary/src/lib/elm_spinner.c +++ b/legacy/elementary/src/lib/elm_spinner.c @@ -1348,6 +1348,12 @@ _elm_spinner_eo_base_constructor(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED) EOLIAN static void _elm_spinner_label_format_set(Eo *obj, Elm_Spinner_Data *sd, const char *fmt) { + if (!strchr(fmt, '%')) + { + WRN("Warning: %s is an Illegal format, cannot be set", fmt); + return; + } + eina_stringshare_replace(&sd->label, fmt); if (fmt && !(_is_label_format_integer(sd->label)))