Merged revisions 47864-47865 via svnmerge from
[asterisk/asterisk.git] / apps / app_voicemail.c
index dbf306e..da34569 100644 (file)
@@ -1109,8 +1109,14 @@ static int retrieve_file(char *dir, int msgnum)
                                                fd = -1;
                                                continue;
                                        }
-                                       if (fd > -1)
-                                               fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+                                       if (fd > -1) {
+                                               if ((fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == -1) {
+                                                       ast_log(LOG_WARNING, "Could not mmap the output file: %s (%d)\n", strerror(errno), errno);
+                                                       SQLFreeHandle(SQL_HANDLE_STMT, stmt);
+                                                       ast_odbc_release_obj(obj);
+                                                       goto yuck;
+                                               }
+                                       }
                                }
                                if (fdm) {
                                        memset(fdm, 0, fdlen);