diff options
author | Hwankyu Jhun <h.jhun@samsung.com> | 2017-06-29 18:44:27 +0900 |
---|---|---|
committer | Hwankyu Jhun <h.jhun@samsung.com> | 2017-06-29 18:44:27 +0900 |
commit | 9ddc6696601e88236c404734066681e7dd91876b (patch) | |
tree | 3ed67eb4572537270ee15a75bb850cfac973a756 | |
parent | 6fa70cac05b6a56d7ee974d60d8ea4f202f62051 (diff) | |
download | application-9ddc6696601e88236c404734066681e7dd91876b.tar.gz application-9ddc6696601e88236c404734066681e7dd91876b.tar.bz2 application-9ddc6696601e88236c404734066681e7dd91876b.zip |
Fix exception handling
If the return value of the appsvc API is NULL pointer, the getter API
should not return a negative error value.
Change-Id: I1069186e3f11cd4010f87991f371a43eaabf2412
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
-rwxr-xr-x | app_control/app_control.c | 65 |
1 files changed, 35 insertions, 30 deletions
diff --git a/app_control/app_control.c b/app_control/app_control.c index d2ad6a0..55eda27 100755 --- a/app_control/app_control.c +++ b/app_control/app_control.c @@ -342,12 +342,13 @@ int app_control_get_operation(app_control_h app_control, char **operation) return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); operation_value = aul_svc_get_operation(app_control->data); - if (operation_value == NULL) - return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); - - *operation = strdup(operation_value); - if (*operation == NULL) - return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + if (operation_value) { + *operation = strdup(operation_value); + if (*operation == NULL) + return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } else { + *operation = NULL; + } return APP_CONTROL_ERROR_NONE; } @@ -375,12 +376,13 @@ int app_control_get_uri(app_control_h app_control, char **uri) return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); uri_value = aul_svc_get_uri(app_control->data); - if (uri_value == NULL) - return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); - - *uri = strdup(uri_value); - if (*uri == NULL) - return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + if (uri_value) { + *uri = strdup(uri_value); + if (*uri == NULL) + return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } else { + *uri = NULL; + } return APP_CONTROL_ERROR_NONE; } @@ -408,12 +410,13 @@ int app_control_get_mime(app_control_h app_control, char **mime) return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); mime_value = aul_svc_get_mime(app_control->data); - if (mime_value == NULL) - return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); - - *mime = strdup(mime_value); - if (*mime == NULL) - return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + if (mime_value) { + *mime = strdup(mime_value); + if (*mime == NULL) + return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } else { + *mime = NULL; + } return APP_CONTROL_ERROR_NONE; } @@ -441,12 +444,13 @@ int app_control_get_category(app_control_h app_control, char **category) return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); category_value = aul_svc_get_category(app_control->data); - if (category_value == NULL) - return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); - - *category = strdup(category_value); - if (*category == NULL) - return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + if (category_value) { + *category = strdup(category_value); + if (*category == NULL) + return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } else { + *category = NULL; + } return APP_CONTROL_ERROR_NONE; } @@ -486,12 +490,13 @@ int app_control_get_app_id(app_control_h app_control, char **app_id) return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); app_id_value = aul_svc_get_appid(app_control->data); - if (app_id_value == NULL) - return app_control_error(APP_CONTROL_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL); - - *app_id = strdup(app_id_value); - if (*app_id == NULL) - return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + if (app_id_value) { + *app_id = strdup(app_id_value); + if (*app_id == NULL) + return app_control_error(APP_CONTROL_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } else { + *app_id = NULL; + } return APP_CONTROL_ERROR_NONE; } |