On 04/05/2014 04:01 PM, Glenn Morris wrote: > *************** > *** 10085,10092 **** > } > if (!NILP (file)) > { > file = Fexpand_file_name (file, Qnil); > ! dribble = emacs_fopen (SSDATA (file), "w"); > if (dribble == 0) > report_file_error ("Opening dribble", file); > } > --- 10086,10100 ---- > } > if (!NILP (file)) > { > + int fd; > file = Fexpand_file_name (file, Qnil); > ! if (! NILP (Ffile_exists_p (file))) > ! { > ! if (chmod (SSDATA (file), 0600) < 0) > ! report_file_error ("Doing chmod", file); > ! } > ! fd = emacs_open (SSDATA (file), O_WRONLY | O_CREAT | O_TRUNC, 0600); > ! dribble = fd < 0 ? 0 : fdopen (fd, "w"); > if (dribble == 0) That's racy. What about using fchmod and falling back to post-open chmod for systems that don't have fchmod?