summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2009-10-28 23:10:05 +0000
committerTiago Cunha <tcunha@gmx.com>2009-10-28 23:10:05 +0000
commitd0afc47bfb55ad1d5950b0a316870106ec33a2f6 (patch)
treea5044b8ab4a890306be45ab7cff2a5d4e0012b49
parentce743b205884853526709aff2b784ea67dd80daa (diff)
Sync OpenBSD patchset 465:
Call fstat() after fopen() rather than stat() before.
-rw-r--r--cmd-load-buffer.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 7a79c502..cee11857 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-load-buffer.c,v 1.10 2009-09-07 23:48:54 tcunha Exp $ */
+/* $Id: cmd-load-buffer.c,v 1.11 2009-10-28 23:10:05 tcunha Exp $ */
/*
* Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org>
@@ -56,13 +56,14 @@ cmd_load_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
if ((s = cmd_find_session(ctx, data->target)) == NULL)
return (-1);
- if (stat(data->arg, &sb) < 0) {
+ if ((f = fopen(data->arg, "rb")) == NULL) {
ctx->error(ctx, "%s: %s", data->arg, strerror(errno));
return (-1);
}
- if ((f = fopen(data->arg, "rb")) == NULL) {
+ if (fstat(fileno(f), &sb) < 0) {
ctx->error(ctx, "%s: %s", data->arg, strerror(errno));
+ fclose(f);
return (-1);
}