Add error return logic to watcher_evas_get_pid 27/114127/3
authorHyunho Kang <hhstark.kang@samsung.com>
Fri, 10 Feb 2017 05:47:53 +0000 (14:47 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Mon, 13 Feb 2017 01:00:48 +0000 (17:00 -0800)
Sub viewer should not get pid using screen image object.

Change-Id: I4f12cb2c1f8f96575a81f1e8a5665ff7f52fba09
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
screen_connector_watcher_evas/src/screen_connector_watcher_evas.c

index 3d0a25c..c44a18b 100644 (file)
@@ -747,13 +747,21 @@ EXPORT_API int screen_connector_watcher_evas_get_rid(Evas_Object *obj, int *reso
 EXPORT_API int screen_connector_watcher_evas_get_pid(Evas_Object *obj, int *pid)
 {
        screen_connector_watcher_evas_h watcher_evas_h;
+       int watcher_pid;
 
        watcher_evas_h = (screen_connector_watcher_evas_h)g_hash_table_lookup(__watcher_tbl, obj);
        if (!watcher_evas_h) {
                LOGE("unknown object.");
                return -1;
        }
-       *pid = screen_connector_watcher_get_pid(watcher_evas_h->watcher_h);
+
+       watcher_pid = screen_connector_watcher_get_pid(watcher_evas_h->watcher_h);
+       if (watcher_pid == 0) {
+               LOGE("Invalid object");
+               return -1;
+       }
+
+       *pid = watcher_pid;
 
        return 0;
 }