From 539c73bdb1865ad57600e3759f2475adef79ab41 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 26 Oct 2009 21:13:06 +0000 Subject: [PATCH] Reset the umask right after fopen to avoid leaving it changed on error, noticed by deraadt@. --- cmd-save-buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c index 5a779dc1..33859fd6 100644 --- a/cmd-save-buffer.c +++ b/cmd-save-buffer.c @@ -70,6 +70,7 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) f = fopen(data->arg, "ab"); else f = fopen(data->arg, "wb"); + umask(mask); if (f == NULL) { ctx->error(ctx, "%s: %s", data->arg, strerror(errno)); return (-1); @@ -82,7 +83,6 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) } fclose(f); - umask(mask); return (0); }