Fix returning error to client 93/91893/1
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 12 Oct 2016 06:22:55 +0000 (15:22 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 12 Oct 2016 06:22:55 +0000 (15:22 +0900)
Return ENOMEM when memory allocation failed.

Change-Id: I4b4c0b8777c9f8a18fc1c1955e923d7ee3f290c1
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/request.c

index 8f5e3f1..d4d049f 100644 (file)
@@ -283,7 +283,9 @@ static int __handle_request_install(uid_t uid,
        args = (char *)calloc(len, sizeof(char));
        if (args == NULL) {
                ERR("calloc failed");
-               ret =  -1;
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
+               ret = -1;
                goto catch;
        }
 
@@ -309,6 +311,8 @@ static int __handle_request_install(uid_t uid,
 
        reqkey = __generate_reqkey(pkgpath);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -360,7 +364,9 @@ static int __handle_request_mount_install(uid_t uid,
        args = (char *)calloc(len, sizeof(char));
        if (args == NULL) {
                ERR("calloc failed");
-               ret =  -1;
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
+               ret = -1;
                goto catch;
        }
 
@@ -386,6 +392,8 @@ static int __handle_request_mount_install(uid_t uid,
 
        reqkey = __generate_reqkey(pkgpath);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -428,8 +436,11 @@ static int __handle_request_reinstall(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                return -1;
+       }
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_REINSTALL, pkgtype,
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
@@ -461,8 +472,11 @@ static int __handle_request_uninstall(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                return -1;
+       }
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_UNINSTALL, pkgtype,
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
@@ -496,8 +510,11 @@ static int __handle_request_move(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                return -1;
+       }
 
        snprintf(buf, sizeof(buf), "%d", move_type);
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_MOVE, pkgtype,
@@ -531,8 +548,11 @@ static int __handle_request_enable_pkg(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(i)", PKGMGR_R_ENOMEM));
                return -1;
+       }
 
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_ENABLE_PKG, pkgtype,
                                pkgid, "")) {
@@ -565,8 +585,11 @@ static int __handle_request_disable_pkg(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(i)", PKGMGR_R_ENOMEM));
                return -1;
+       }
 
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_DISABLE_PKG, pkgtype,
                                pkgid, "")) {
@@ -600,6 +623,8 @@ static int __handle_request_enable_app(uid_t uid,
 
        reqkey = __generate_reqkey(appid);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -641,6 +666,8 @@ static int __handle_request_disable_app(uid_t uid,
 
        reqkey = __generate_reqkey(appid);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -682,6 +709,8 @@ static int __handle_request_enable_global_app_for_uid(uid_t uid,
 
        reqkey = __generate_reqkey(appid);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -723,6 +752,8 @@ static int __handle_request_disable_global_app_for_uid(uid_t uid,
 
        reqkey = __generate_reqkey(appid);
        if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                ret = -1;
                goto catch;
        }
@@ -764,8 +795,11 @@ static int __handle_request_getsize(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
                return -1;
+       }
 
        snprintf(buf, sizeof(buf), "%d", get_type);
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_GETSIZE, "pkgtool",
@@ -799,8 +833,11 @@ static int __handle_request_cleardata(uid_t uid,
        }
 
        reqkey = __generate_reqkey(pkgid);
-       if (reqkey == NULL)
+       if (reqkey == NULL) {
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(i)", PKGMGR_R_ENOMEM));
                return -1;
+       }
 
        if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_CLEARDATA, pkgtype,
                                pkgid, "")) {
@@ -1025,6 +1062,8 @@ static int __update_app_splash_screen(uid_t uid,
        reqkey = __generate_reqkey(appid);
        if (reqkey == NULL) {
                ERR("Failed to generate request key");
+               g_dbus_method_invocation_return_value(invocation,
+                               g_variant_new("(i)", PKGMGR_R_ENOMEM));
                return -1;
        }