fclose(fp_group);
fp_group = NULL;
+ if(NULL != smack_label)
{
gid_t *glist_new;
int i, cnt;
int were_rules_loaded = 0;
char *smack_label AUTO_FREE;
+ if (NULL == name) {
+ C_LOGE("Error invalid param");
+ return PC_ERR_INVALID_PARAM;
+ }
+
if (path != NULL && have_smack()) {
ret = get_smack_from_binary(&smack_label, path, verify_app_type(type, path));
if (ret != PC_OPERATION_SUCCESS)
return ret;
}
+ if (path != NULL && !have_smack()) {
+ ret = get_smack_from_binary(&smack_label, path, verify_app_type(type, path));
+ if (ret != PC_OPERATION_SUCCESS)
+ return ret;
+ }
+
return set_dac(smack_label, name);
}