From 744c93a37d79fd507e9fc0f8848a39a7ccb02a8d Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Sun, 23 Dec 2018 10:20:50 +0100 Subject: [PATCH] termio: fix potential segv. CID1397077 --- src/bin/termio.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index abf6ae6c..f439b1dd 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -1156,19 +1156,6 @@ _cb_link_down(void *data, ctxp = elm_ctxpopup_add(sd->win); sd->ctxpopup = ctxp; - if (sd->config->helper.inline_please) - { - Media_Type type = media_src_type_get(sd->link.string); - - if ((type == MEDIA_TYPE_IMG) || - (type == MEDIA_TYPE_SCALE) || - (type == MEDIA_TYPE_EDJE) || - (type == MEDIA_TYPE_MOV)) - elm_ctxpopup_item_append(ctxp, _("Preview"), NULL, - _cb_ctxp_link_preview, sd->self); - } - elm_ctxpopup_item_append(ctxp, _("Open"), NULL, _cb_ctxp_link_open, - sd->self); if (hl) { raw_link = hl->url; @@ -1187,6 +1174,20 @@ _cb_link_down(void *data, if (len > 0 && raw_link[0] == '/') absolut = EINA_TRUE; + if (sd->config->helper.inline_please) + { + Media_Type type = media_src_type_get(raw_link); + + if ((type == MEDIA_TYPE_IMG) || + (type == MEDIA_TYPE_SCALE) || + (type == MEDIA_TYPE_EDJE) || + (type == MEDIA_TYPE_MOV)) + elm_ctxpopup_item_append(ctxp, _("Preview"), NULL, + _cb_ctxp_link_preview, sd->self); + } + elm_ctxpopup_item_append(ctxp, _("Open"), NULL, _cb_ctxp_link_open, + sd->self); + if (!absolut && !link_is_url(raw_link) && !link_is_email(raw_link))