don't call poll() with an unitialized structure (bug #4387)
authorKevin P. Fleming <kpfleming@digium.com>
Fri, 3 Jun 2005 02:41:59 +0000 (02:41 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Fri, 3 Jun 2005 02:41:59 +0000 (02:41 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5826 65c4cc65-6c06-0410-ace0-fbb531ad65f3

asterisk.c

index 6edb01e..4bb6c17 100755 (executable)
@@ -467,7 +467,7 @@ static int ast_makesocket(void)
 
        if (perms!=NULL) {
                mode_t p;
-               sscanf(perms,"%o",&p);
+               sscanf(perms, "%o", (int *) &p);
                if ((chmod(ast_config_AST_SOCKET,p))<0)
                        ast_log(LOG_WARNING, "Unable to change file permissions of %s: %s\n", ast_config_AST_SOCKET,strerror(errno));
        }
@@ -1690,7 +1690,6 @@ int main(int argc, char *argv[])
        int num;
        char *buf;
        char *runuser=NULL, *rungroup=NULL;
-       struct pollfd silly_macos[1];   
 
        /* Remember original args for restart */
        if (argc > sizeof(_argv) / sizeof(_argv[0]) - 1) {
@@ -2060,7 +2059,9 @@ int main(int argc, char *argv[])
 
        }
        /* Do nothing */
-       for(;;) 
-               poll(silly_macos,0, -1);
+       for(;;)  {      /* apparently needed for the MACos */
+               struct pollfd p = { -1 /* no descriptor */, 0, 0 };
+               poll(&p, 0, -1);
+       }
        return 0;
 }