X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftrace%2Flib_trace.c;h=9acbd4716575116e833e3ff54fa9039ad392aee0;hp=48d3524a550fd069368a9c217f759a31f4264570;hb=0af9283ca273c267ee6036c3b88115d9ba6d55a6;hpb=9f479192e3ca3413d235c66bf058f8cc63764898 diff --git a/ncurses/trace/lib_trace.c b/ncurses/trace/lib_trace.c index 48d3524a..9acbd471 100644 --- a/ncurses/trace/lib_trace.c +++ b/ncurses/trace/lib_trace.c @@ -48,7 +48,7 @@ #include -MODULE_ID("$Id: lib_trace.c,v 1.98 2021/06/17 21:30:22 tom Exp $") +MODULE_ID("$Id: lib_trace.c,v 1.99 2021/06/26 20:44:59 tom Exp $") NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */ @@ -118,8 +118,9 @@ curses_trace(unsigned tracelevel) _nc_STRCAT(MyPath, ".log", sizeof(MyPath)); } } +#define SAFE_MODE (O_CREAT | O_EXCL | O_RDWR) if (_nc_access(MyPath, W_OK) < 0 - || (MyFD = open(MyPath, O_CREAT | O_EXCL | O_RDWR, 0600)) < 0 + || (MyFD = safe_open3(MyPath, SAFE_MODE, 0600)) < 0 || (MyFP = fdopen(MyFD, BIN_W)) == 0) { ; /* EMPTY */ }