FILE *fd;
int ret;
- char smack_label[SMACK_LABEL_LEN + 1];
+ char smack_label[SMACK_LABEL_LEN + 1] = {0, };
char uid[10];
char *client_session = "";
char *privilege = NULL;
ERR("Failed to open /proc/self/attr/current\n");
return false;
}
- ret = fread(smack_label, sizeof(smack_label), 1, fd);
- fclose(fd);
- if (ret < 0) {
+ ret = fread(smack_label, SMACK_LABEL_LEN, 1, fd);
+
+ if (ferror(fd)) {
ERR("Failed to read /proc/self/attr/current\n");
+ fclose(fd);
return false;
}
+ fclose(fd);
/* get uid */
snprintf(uid, sizeof(uid), "%d", getuid());