diff options
Diffstat (limited to 'channels/chan_oss.c')
-rw-r--r-- | channels/chan_oss.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c index ddaa2efde..186e3a2a6 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -1382,10 +1382,15 @@ static struct chan_oss_pvt *store_config(struct ast_config *cfg, char *ctg) if (o->mixer_cmd) { char *cmd; - asprintf(&cmd, "mixer %s", o->mixer_cmd); - ast_log(LOG_WARNING, "running [%s]\n", cmd); - system(cmd); - ast_free(cmd); + if (asprintf(&cmd, "mixer %s", o->mixer_cmd) < 0) { + ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno)); + } else { + ast_log(LOG_WARNING, "running [%s]\n", cmd); + if (system(cmd) < 0) { + ast_log(LOG_WARNING, "system() failed: %s\n", strerror(errno)); + } + ast_free(cmd); + } } /* if the config file requested to start the GUI, do it */ |