OpenBSD CVS

CVS log for src/usr.bin/vi/common/exf.c


[BACK] Up to [local] / src / usr.bin / vi / common

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.50 / (download) - annotate - [select for diffs], Thu Feb 15 00:55:01 2024 UTC (3 months, 3 weeks ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.49: +7 -3 lines
Diff to previous 1.49 (colored)

fix fd leaks in error paths
ok miod@

Revision 1.49 / (download) - annotate - [select for diffs], Wed Feb 14 03:07:58 2024 UTC (3 months, 3 weeks ago) by jsg
Branch: MAIN
Changes since 1.48: +7 -2 lines
Diff to previous 1.48 (colored)

avoid use after free of frp and frp->tname
found by smatch, ok miod@ millert@

Revision 1.48 / (download) - annotate - [select for diffs], Mon Oct 25 14:17:24 2021 UTC (2 years, 7 months ago) by dv
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.47: +11 -1 lines
Diff to previous 1.47 (colored)

vi(1): fix use after free with unsaved buffer

Issuing a zero-arg ex_edit command (:e) while using a named buffer
with no backing file caused vi(1)/ex(1) to free the strings
representing the buffer name and the name of the temporary file.
This change detects the situation and only frees the newly allocated
EXF structure (ep).

Reported on bugs@ by kn@.

OK millert@

Revision 1.47 / (download) - annotate - [select for diffs], Sun Oct 24 21:24:17 2021 UTC (2 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant.  Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk.  They could all be 0xdeafbeef.
ok millert

Revision 1.46 / (download) - annotate - [select for diffs], Wed Apr 26 13:14:28 2017 UTC (7 years, 1 month ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

Remove extraneous ", NULL" in the assignment of msgstr which was
leftover from when msg_cat() was removed.  From Anton Lindqvist

Revision 1.45 / (download) - annotate - [select for diffs], Tue Apr 18 01:45:35 2017 UTC (7 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.44: +12 -22 lines
Diff to previous 1.44 (colored)

free(NULL) is ok so use it; from Michael W. Bombardieri

Revision 1.44 / (download) - annotate - [select for diffs], Mon Aug 1 18:27:35 2016 UTC (7 years, 10 months ago) by bentley
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.43: +2 -6 lines
Diff to previous 1.43 (colored)

Remove vi's "directory" option and TMPDIR support.

ok jung@

Revision 1.43 / (download) - annotate - [select for diffs], Fri May 27 09:18:11 2016 UTC (8 years ago) by martijn
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored)

Revert CHAR_T removal. Some signedness flaws were introduced.
Found the hard way by jca@

Revision 1.42 / (download) - annotate - [select for diffs], Mon May 2 18:24:25 2016 UTC (8 years, 1 month ago) by martijn
Branch: MAIN
Changes since 1.41: +4 -4 lines
Diff to previous 1.41 (colored)

Remove CHAR_T in favor of native types.

schwarze@ agrees with the direction.
Few tweaks and OK tb@

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jan 6 22:29:38 2016 UTC (8 years, 5 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.40: +5 -6 lines
Diff to previous 1.40 (colored)

Remove the msg_cat() function and adjust its former callers.
From Martijn van Duren

Revision 1.40 / (download) - annotate - [select for diffs], Wed Jan 6 22:28:52 2016 UTC (8 years, 5 months ago) by millert
Branch: MAIN
Changes since 1.39: +30 -30 lines
Diff to previous 1.39 (colored)

Remove the numeric identifiers at the beginning of the messages
which used to be used as the message number to lookup in the
catalog.  From Martijn van Duren

Revision 1.39 / (download) - annotate - [select for diffs], Mon Dec 7 20:39:19 2015 UTC (8 years, 6 months ago) by mmcc
Branch: MAIN
Changes since 1.38: +4 -4 lines
Diff to previous 1.38 (colored)

Remove needless type casts and corresponding type parameters from
allocation macros. No binary change.

ok tb@

Revision 1.38 / (download) - annotate - [select for diffs], Thu Nov 19 07:53:31 2015 UTC (8 years, 6 months ago) by bentley
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

Remove cscope support in vi.

It makes no sense to keep support for a non-base tool in base, especially
for a feature that few if any people use.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Jul 7 18:34:12 2015 UTC (8 years, 11 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.36: +10 -10 lines
Diff to previous 1.36 (colored)

Fix a regression caused by timespec changes when vi is run without
a file to edit.  Based on a diff from Patrick Keshishian.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Apr 24 21:48:31 2015 UTC (9 years, 1 month ago) by brynet
Branch: MAIN
Changes since 1.35: +8 -6 lines
Diff to previous 1.35 (colored)

struct timespec/clock_gettime(3) conversion for vi(1).

ok guenther@

Revision 1.35 / (download) - annotate - [select for diffs], Sun Apr 19 01:10:59 2015 UTC (9 years, 1 month ago) by millert
Branch: MAIN
Changes since 1.34: +4 -6 lines
Diff to previous 1.34 (colored)

Don't lock the file for "vi -R" or "view".  OK deraadt@

Revision 1.34 / (download) - annotate - [select for diffs], Fri Mar 27 04:11:25 2015 UTC (9 years, 2 months ago) by brynet
Branch: MAIN
Changes since 1.33: +1 -4 lines
Diff to previous 1.33 (colored)

Some vi cleanup, unifdef's some signal blocking code that has never been
enabled in our tree, also removes some stragglers from a global struct
referencing nonexistent Tcl/TK and "IP support". And finally.. deletes
an empty file missed by earlier cleanup by bentley@.

Inspired by and ok bcallah@

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:14 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.32: +4 -5 lines
Diff to previous 1.32 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 14 20:23:56 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.31: +1 -68 lines
Diff to previous 1.31 (colored)

from natano:
The vi editor contains code for two different file locking methods -
one using flock(), the other using fcntl(). The fcntl method is unused
and has severe limitations (as described in a code comment). Let's
remove it for sake of readibility.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Nov 12 16:29:04 2014 UTC (9 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.30: +6 -12 lines
Diff to previous 1.30 (colored)

Remove more portability bits for older systems; from Martin Natano

Revision 1.30 / (download) - annotate - [select for diffs], Wed Nov 12 04:28:41 2014 UTC (9 years, 7 months ago) by bentley
Branch: MAIN
Changes since 1.29: +15 -49 lines
Diff to previous 1.29 (colored)

Ansify vi.

ok bcallah@ millert@

Revision 1.29 / (download) - annotate - [select for diffs], Mon Nov 10 21:31:42 2014 UTC (9 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.28: +1 -16 lines
Diff to previous 1.28 (colored)

remove old, unnecessary compat code. from Martin Natano

Revision 1.28 / (download) - annotate - [select for diffs], Sun Dec 1 20:22:34 2013 UTC (10 years, 6 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.27: +5 -7 lines
Diff to previous 1.27 (colored)

Change the file reference queue from CIRCLEQ to TAILQ.

vi is now CIRCLEQ free!

ok zhuk@

Revision 1.27 / (download) - annotate - [select for diffs], Mon Apr 29 00:28:23 2013 UTC (11 years, 1 month ago) by okan
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

use FD_CLOEXEC instead of 1; from David Hill

ok otto

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jul 10 13:20:25 2011 UTC (12 years, 11 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

Rename O_DIRECTORY to O_TMP_DIRECTORY to avoid a namespace collision
with sys/fcntl.h.  OK deraadt@

Revision 1.25 / (download) - annotate - [select for diffs], Tue Oct 27 23:59:47 2009 UTC (14 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.24: +1 -5 lines
Diff to previous 1.24 (colored)

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable).  these days, people use source.  these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms

Revision 1.24 / (download) - annotate - [select for diffs], Sat Nov 24 12:59:28 2007 UTC (16 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

some spelling fixes from Martynas Venckus

Revision 1.23 / (download) - annotate - [select for diffs], Sun Jun 18 20:41:24 2006 UTC (17 years, 11 months ago) by jasper
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.22: +4 -2 lines
Diff to previous 1.22 (colored)

Fix memleak; From Coverity Scan, CID 3135.
From simonb NetBSD

ok naddy@, otto@

Revision 1.22 / (download) - annotate - [select for diffs], Sun Jan 8 21:05:39 2006 UTC (18 years, 5 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.21: +14 -11 lines
Diff to previous 1.21 (colored)

Explicit braces around macro fields and logical operations, gets rid of 148
warnings, no functional change.

From Ray Lai.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Oct 17 19:12:16 2005 UTC (18 years, 7 months ago) by otto
Branch: MAIN
Changes since 1.20: +3 -4 lines
Diff to previous 1.20 (colored)

Use queue macros instead of directly accessing fields. ok pat@ "put it
in" deraadt@

Revision 1.20 / (download) - annotate - [select for diffs], Wed Dec 31 18:18:22 2003 UTC (20 years, 5 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.19: +3 -2 lines
Diff to previous 1.19 (colored)

Both POSIX and the man page says that "vi -r foo" is run where foo does not
exist and has no recovery file that vi shall present an error and edit
foo as a new file.  This change makes the behavior match the documentation;
previously it just spat out an error and quit.  Problem found by jmc@

Revision 1.19 / (download) - annotate - [select for diffs], Fri Aug 1 16:47:25 2003 UTC (20 years, 10 months ago) by pvalchev
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.18: +5 -3 lines
Diff to previous 1.18 (colored)

when the -R option (read-only) is specified, there is no need to print
a warning that the file is read-only, it's obviously what's expected...
ok fgsch henning

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jul 2 00:21:16 2003 UTC (20 years, 11 months ago) by avsm
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

bump randomness of mktemp to from 6 to 10 X's, as recommended by mktemp(3)

Revision 1.17 / (download) - annotate - [select for diffs], Tue Feb 19 00:06:34 2002 UTC (22 years, 3 months ago) by ericj
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2, OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)


oops, left out ;

Revision 1.16 / (download) - annotate - [select for diffs], Mon Feb 18 23:56:10 2002 UTC (22 years, 3 months ago) by ericj
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)


format string fixes

Revision 1.15 / (download) - annotate - [select for diffs], Sat Feb 16 21:27:56 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
Changes since 1.14: +15 -15 lines
Diff to previous 1.14 (colored)

Part one of userland __P removal.  Done with a simple regexp with some minor hand editing to make comments line up correctly.  Another pass is forthcoming that handles the cases that could not be done automatically.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Sep 17 04:42:55 2001 UTC (22 years, 8 months ago) by pvalchev
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.13: +6 -1 lines
Diff to previous 1.13 (colored)

make vi exit if it can't create a temp file.  From NetBSD, ok millert

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jun 18 21:39:25 2001 UTC (22 years, 11 months ago) by millert
Branch: MAIN
Changes since 1.12: +13 -3 lines
Diff to previous 1.12 (colored)

When creating temp files, use fchmod() to set the perms to be what we
expect since the mode mkstemp() uses can be modified by the umask.
This fixes a problem where vi would spin trying to create temp
files, eating up inodes; reported by xyntrix@bitz.org

This fix has the side effect of letting you create files with
silly modes (like 0000), but that is probably OK.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jan 29 01:58:29 2001 UTC (23 years, 4 months ago) by niklas
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.11: +2 -0 lines
Diff to previous 1.11 (colored)

$OpenBSD$

Revision 1.11 / (download) - annotate - [select for diffs], Fri Nov 26 22:49:08 1999 UTC (24 years, 6 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

o Update README files etc. from nvi-1.79 so they have the correct info
o make port.h empty since we there is nothing we lack
o include <sys/param.h>, not <sys/types.h> in files that use MIN/MAX macros
o add perl api support since we have libperl (off by default)

Revision 1.10 / (download) - annotate - [select for diffs], Mon May 24 22:43:35 1999 UTC (25 years ago) by d
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE, OPENBSD_2_6
Changes since 1.9: +4 -0 lines
Diff to previous 1.9 (colored)

set the close-on-exec flag for newly opened files

Reason:
 vi uses flock to help you notice when you are already editing a file.

 But, when using :shell or :! the fdesc for the locked file is inherited by
 the subprocess.

 This means that if you (say) do a :!xterm& and then quit vi, the fdesc is
 kept open by the xterm and the lock is never released. future vi's on
 that file will then complain.

 I sent this off to bostic.com a long time ago but have as yet heard nothing.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Mar 6 20:27:45 1999 UTC (25 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5
Changes since 1.8: +1 -1 lines
Diff to previous 1.8 (colored)

back out changes that should not have escaped my local tree

Revision 1.8 / (download) - annotate - [select for diffs], Sat Mar 6 20:19:24 1999 UTC (25 years, 3 months ago) by millert
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

add missing reference to infocmp

Revision 1.7 / (download) - annotate - [select for diffs], Tue Jun 23 22:40:46 1998 UTC (25 years, 11 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE, OPENBSD_2_4
Changes since 1.6: +6 -0 lines
Diff to previous 1.6 (colored)

Fix snprintf return value usage.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jul 27 22:28:07 1997 UTC (26 years, 10 months ago) by downsj
Branch: MAIN
CVS Tags: OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2
Changes since 1.5: +13 -2 lines
Diff to previous 1.5 (colored)

Update to 1.79 and install as vi/ex/view.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Aug 20 22:55:47 1996 UTC (27 years, 9 months ago) by michaels
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE, OPENBSD_2_1, OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.4: +8 -7 lines
Diff to previous 1.4 (colored)

nvi 1.74

Revision 1.4 / (download) - annotate - [select for diffs], Fri Aug 16 17:58:19 1996 UTC (27 years, 10 months ago) by michaels
Branch: MAIN
Changes since 1.3: +117 -30 lines
Diff to previous 1.3 (colored)

nvi 1.73

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jul 24 16:15:17 1996 UTC (27 years, 10 months ago) by mickey
Branch: MAIN
Changes since 1.2: +64 -20 lines
Diff to previous 1.2 (colored)

bring vi/ex up to 1.71

Revision 1.2 / (download) - annotate - [select for diffs], Wed May 22 11:33:57 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.1: +740 -221 lines
Diff to previous 1.1 (colored)

new vi

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:46:37 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:46:37 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.