diff --git a/c_src/sqlite3_drv.c b/c_src/sqlite3_drv.c index c462c2d..6ce5531 100644 --- a/c_src/sqlite3_drv.c +++ b/c_src/sqlite3_drv.c @@ -63,7 +63,12 @@ static ErlDrvData start(ErlDrvPort port, char* cmd) { retval->log = fopen(LOG_PATH, "a+"); if (!retval->log) { - fprintf(stderr, "Can't create log file\n"); + fprintf(stderr, "Error creating log file: %s\n", LOG_PATH); + // because logging isn't abstracted away we need a valid FILE* + // fall back to anything rather than segfault later + retval->log = fopen("/dev/null", "a+"); + if (!retval->log) + retval->log = stderr; // noisy } fprintf(retval->log,