summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorJames Golovich <james@gnuinter.net>2004-03-23 21:42:35 +0000
committerJames Golovich <james@gnuinter.net>2004-03-23 21:42:35 +0000
commit359430871fbc7cccd663a0aa7d565ee136aea0a1 (patch)
tree0af5f6b0866f5ae51d96af2539ee95e2191d34a3 /channels/chan_iax2.c
parent747a18f65dccfdbbc5fa53af01d07a7b5aaa29a7 (diff)
Check to make sure opendir works in chan_iax2.c (bug 1283)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_iax2.c')
-rwxr-xr-xchannels/chan_iax2.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 59490d888..7050e7d72 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -1051,16 +1051,19 @@ static void reload_firmware(void)
/* Now that we've freed them, load the new ones */
snprintf(dir, sizeof(dir), "%s/firmware/iax", (char *)ast_config_AST_VAR_DIR);
fwd = opendir(dir);
- while((de = readdir(fwd))) {
- if (de->d_name[0] != '.') {
- snprintf(fn, sizeof(fn), "%s/%s", dir, de->d_name);
- if (!try_firmware(fn)) {
- if (option_verbose > 1)
- ast_verbose(VERBOSE_PREFIX_2 "Loaded firmware '%s'\n", de->d_name);
+ if (fwd) {
+ while((de = readdir(fwd))) {
+ if (de->d_name[0] != '.') {
+ snprintf(fn, sizeof(fn), "%s/%s", dir, de->d_name);
+ if (!try_firmware(fn)) {
+ if (option_verbose > 1)
+ ast_verbose(VERBOSE_PREFIX_2 "Loaded firmware '%s'\n", de->d_name);
+ }
}
}
- }
- closedir(fwd);
+ closedir(fwd);
+ } else
+ ast_log(LOG_WARNING, "Error opening firmware directory '%s': %s\n", dir, strerror(errno));
/* Clean up leftovers */
cur = waresl.wares;