Ticket #835: patchsegfault.diff

File patchsegfault.diff, 1.1 KB (added by etienne.champetier@…, 10 years ago)

patch debug.c

  • src/debug.c

     
    4646    time(&ts); 
    4747 
    4848    if (config->debuglevel >= level) { 
    49         va_start(vlist, format); 
    5049 
    5150        if (level <= LOG_WARNING) { 
    5251            fprintf(stderr, "[%d][%.24s][%u](%s:%d) ", level, ctime_r(&ts, buf), getpid(), 
    5352                            filename, line); 
     53            va_start(vlist, format); 
    5454            vfprintf(stderr, format, vlist); 
     55            va_end(vlist); 
    5556            fputc('\n', stderr); 
    5657        } else if (!config->daemon) { 
    5758            fprintf(stdout, "[%d][%.24s][%u](%s:%d) ", level, ctime_r(&ts, buf), getpid(), 
    5859                            filename, line); 
     60            va_start(vlist, format); 
    5961            vfprintf(stdout, format, vlist); 
     62            va_end(vlist); 
    6063            fputc('\n', stdout); 
    6164            fflush(stdout); 
    6265        } 
    6366 
    6467        if (config->log_syslog) { 
    6568            openlog("wifidog", LOG_PID, config->syslog_facility); 
     69            va_start(vlist, format); 
    6670            vsyslog(level, format, vlist); 
     71            va_end(vlist); 
    6772            closelog(); 
    6873        } 
    6974    }