int i, argc, ret, clifd = -1;
char *cmd = NULL, *p, *buf = para_calloc(MAXLINE), **argv = NULL;
struct sockaddr_un unix_addr;
+ uid_t uid;
ret = para_accept(accept_fd, &unix_addr, sizeof(struct sockaddr_un));
if (ret < 0)
ret = recv_cred_buffer(clifd, buf, MAXLINE - 1);
if (ret < 0)
goto out;
+ uid = ret;
PARA_INFO_LOG("connection from user %i, buf: %s\n", ret, buf);
- ret = check_perms(ret);
+ ret = check_perms(uid);
if (ret < 0)
goto out;
ret = -E_INVALID_AUDIOD_CMD;
old = stat_task->stat_item_values[SI_DECODER_FLAGS];
new = decoder_flags();
if (!old || strcmp(old, new)) {
+ free(old);
stat_client_write(new, SI_DECODER_FLAGS);
stat_task->stat_item_values[SI_DECODER_FLAGS] = new;
} else