summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/elementary/efl_ui_selection_manager.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/elementary/efl_ui_selection_manager.c b/src/lib/elementary/efl_ui_selection_manager.c
index ef9d221d0d..cbef9226af 100644
--- a/src/lib/elementary/efl_ui_selection_manager.c
+++ b/src/lib/elementary/efl_ui_selection_manager.c
@@ -1142,15 +1142,20 @@ static Eina_Bool
_x11_vcard_send(char *target EINA_UNUSED, void *data EINA_UNUSED, int size EINA_UNUSED, void **data_ret, int *size_ret, Ecore_X_Atom *ttype EINA_UNUSED, int *typesize EINA_UNUSED)
{
Sel_Manager_Selection *sel;
- char *s;
sel_debug("Vcard send called");
sel = *(Sel_Manager_Selection **)data;
- s = malloc(sel->data.len + 1);
- if (!s) return EINA_FALSE;
- memcpy(s, sel->data.mem, sel->data.len);
- s[sel->data.len] = 0;
- if (data_ret) *data_ret = s;
+ if (data_ret)
+ {
+ char *s;
+
+ s = malloc(sel->data.len + 1);
+ if (!s) return EINA_FALSE;
+ memcpy(s, sel->data.mem, sel->data.len);
+ s[sel->data.len] = 0;
+ *data_ret = s;
+ }
+
if (size_ret) *size_ret = sel->data.len;
return EINA_TRUE;
}