diff options
author | 2005-05-24 07:38:46 +0000 | |
---|---|---|
committer | 2005-05-24 07:38:46 +0000 | |
commit | 530fda090f18a5c32f2754b9e93f55518a23f8d8 (patch) | |
tree | dde775e4104b56454a6c87a529fa90ba3520d001 | |
parent | don't try to create directories with mkdir(2) in cvs_resp_sticky(). (diff) | |
download | wireguard-openbsd-530fda090f18a5c32f2754b9e93f55518a23f8d8.tar.xz wireguard-openbsd-530fda090f18a5c32f2754b9e93f55518a23f8d8.zip |
cvs_noexec checks; ok joris@
-rw-r--r-- | usr.bin/cvs/buf.c | 15 | ||||
-rw-r--r-- | usr.bin/cvs/tag.c | 10 |
2 files changed, 18 insertions, 7 deletions
diff --git a/usr.bin/cvs/buf.c b/usr.bin/cvs/buf.c index a1c2f2a0731..324d5940c2c 100644 --- a/usr.bin/cvs/buf.c +++ b/usr.bin/cvs/buf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: buf.c,v 1.8 2004/12/08 22:22:38 jfb Exp $ */ +/* $OpenBSD: buf.c,v 1.9 2005/05/24 07:38:46 xsa Exp $ */ /* * Copyright (c) 2003 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -37,6 +37,7 @@ #include <errno.h> #include "buf.h" +#include "cvs.h" #include "log.h" @@ -412,6 +413,8 @@ cvs_buf_write(BUF *b, const char *path, mode_t mode) { int ret, fd; + ret = 0; + fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, mode); if (fd == -1) { cvs_log(LP_ERRNO, "failed to open file `%s': %s", @@ -419,7 +422,9 @@ cvs_buf_write(BUF *b, const char *path, mode_t mode) return (-1); } - ret = cvs_buf_write_fd(b, fd); + if (!cvs_noexec) + ret = cvs_buf_write_fd(b, fd); + if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to file `%s': %s", path, strerror(errno)); @@ -443,6 +448,8 @@ cvs_buf_write_stmp(BUF *b, char *template, mode_t mode) { int ret, fd; + ret = 0; + fd = mkstemp(template); if (fd == -1) { cvs_log(LP_ERRNO, "failed to mkstemp file `%s': %s", @@ -450,7 +457,9 @@ cvs_buf_write_stmp(BUF *b, char *template, mode_t mode) return (-1); } - ret = cvs_buf_write_fd(b, fd); + if (!cvs_noexec) + ret = cvs_buf_write_fd(b, fd); + if (ret == -1) { cvs_log(LP_ERRNO, "failed to write to temp file `%s': %s", template, strerror(errno)); diff --git a/usr.bin/cvs/tag.c b/usr.bin/cvs/tag.c index c0b0502d3b3..0d6f90cbab1 100644 --- a/usr.bin/cvs/tag.c +++ b/usr.bin/cvs/tag.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tag.c,v 1.17 2005/05/24 04:12:25 jfb Exp $ */ +/* $OpenBSD: tag.c,v 1.18 2005/05/24 07:38:46 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * Copyright (c) 2004 Joris Vink <joris@openbsd.org> @@ -275,9 +275,11 @@ cvs_tag_local(CVSFILE *cf, void *arg) return (CVS_EX_DATA); } - if (rcs_sym_add(rf, tag_name, tag_rev) < 0) { - cvs_log(LP_ERR, "failed to tag %s: %s", rcspath, - rcs_errstr(rcs_errno)); + if (!cvs_noexec) { + if (rcs_sym_add(rf, tag_name, tag_rev) < 0) { + cvs_log(LP_ERR, "failed to tag %s: %s", rcspath, + rcs_errstr(rcs_errno)); + } } cvs_printf("T %s\n", fpath); |