summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2013-08-27 16:03:28 +0900
committerCedric Bail <cedric.bail@free.fr>2013-10-17 20:48:25 +0900
commit386837fc1fc36cf94a849dd5cd317b7275169cb7 (patch)
treecc9db45283b83936c65cc74265642ce8aa59c6c0
parent92690d4da2a6a21eb9476f5e6752b7b85594a6e3 (diff)
downloadefl-386837fc1fc36cf94a849dd5cd317b7275169cb7.tar.gz
evas/cserve2: Fix segfault in cserve2 slave
Slaves always crash when loading SVG images. The svg module was simply not a dynamic module.
-rw-r--r--src/bin/evas/evas_cserve2_slave.c2
-rw-r--r--src/bin/evas/evas_cserve2_slaves.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/bin/evas/evas_cserve2_slave.c b/src/bin/evas/evas_cserve2_slave.c
index 5f9bc3246c..da6099ba59 100644
--- a/src/bin/evas/evas_cserve2_slave.c
+++ b/src/bin/evas/evas_cserve2_slave.c
@@ -364,7 +364,7 @@ try_extension:
if (loader)
{
module = evas_module_find_type(EVAS_MODULE_TYPE_IMAGE_LOADER, loader);
- if (_image_file_header(fd, skey, &load_opts, result, module))
+ if (module && _image_file_header(fd, skey, &load_opts, result, module))
goto success;
loader = NULL;
module = NULL;
diff --git a/src/bin/evas/evas_cserve2_slaves.c b/src/bin/evas/evas_cserve2_slaves.c
index a1fc7f5c82..9c626bd6be 100644
--- a/src/bin/evas/evas_cserve2_slaves.c
+++ b/src/bin/evas/evas_cserve2_slaves.c
@@ -128,7 +128,8 @@ _slave_proc_dead_cb(int pid, int status EINA_UNUSED)
{
Slave_Proc *s;
- INF("Child dead with pid '%d'.", pid);
+ INF("Child dead with pid '%d': signal %d",
+ pid, WIFSIGNALED(status) ? WTERMSIG(status) : 0);
s = _slave_proc_find(pid);
if (!s)
{
@@ -138,6 +139,7 @@ _slave_proc_dead_cb(int pid, int status EINA_UNUSED)
slave_procs = eina_list_remove(slave_procs, s);
_slave_proc_free(s);
+ abort();
}
static size_t