From owner-svn-src-stable-11@freebsd.org Mon Apr 27 22:34:46 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 453F02C8D38; Mon, 27 Apr 2020 22:34:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49B02Z14cPz3K7M; Mon, 27 Apr 2020 22:34:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1FFF41A020; Mon, 27 Apr 2020 22:34:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03RMYk70032035; Mon, 27 Apr 2020 22:34:46 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03RMYjJM032032; Mon, 27 Apr 2020 22:34:45 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004272234.03RMYjJM032032@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 27 Apr 2020 22:34:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r360405 - stable/11/usr.bin/diff X-SVN-Group: stable-11 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: stable/11/usr.bin/diff X-SVN-Commit-Revision: 360405 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Apr 2020 22:34:46 -0000 Author: kevans Date: Mon Apr 27 22:34:45 2020 New Revision: 360405 URL: https://svnweb.freebsd.org/changeset/base/360405 Log: MFC r356723-r356725: diff(1) return value checks r356723: mkstemp returns -1 r356724: asprintf returns -1, not an arbitrary value < 0. Also upon error the (very sloppy specification) leaves an undefined value in *ret, so it is wrong to inspect it, the error condition is enough. r356725: When system calls indicate an error they return -1, not some arbitrary value < 0. errno is only updated in this case. Modified: stable/11/usr.bin/diff/diff.c stable/11/usr.bin/diff/diffreg.c stable/11/usr.bin/diff/xmalloc.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/diff/diff.c ============================================================================== --- stable/11/usr.bin/diff/diff.c Mon Apr 27 22:33:32 2020 (r360404) +++ stable/11/usr.bin/diff/diff.c Mon Apr 27 22:34:45 2020 (r360405) @@ -1,4 +1,4 @@ -/* $OpenBSD: diff.c,v 1.65 2015/12/29 19:04:46 gsoares Exp $ */ +/* $OpenBSD: diff.c,v 1.67 2019/06/28 13:35:00 deraadt Exp $ */ /* * Copyright (c) 2003 Todd C. Miller @@ -316,12 +316,12 @@ main(int argc, char **argv) } else { if (S_ISDIR(stb1.st_mode)) { argv[0] = splice(argv[0], argv[1]); - if (stat(argv[0], &stb1) < 0) + if (stat(argv[0], &stb1) == -1) err(2, "%s", argv[0]); } if (S_ISDIR(stb2.st_mode)) { argv[1] = splice(argv[1], argv[0]); - if (stat(argv[1], &stb2) < 0) + if (stat(argv[1], &stb2) == -1) err(2, "%s", argv[1]); } print_status(diffreg(argv[0], argv[1], dflags, 1), argv[0], Modified: stable/11/usr.bin/diff/diffreg.c ============================================================================== --- stable/11/usr.bin/diff/diffreg.c Mon Apr 27 22:33:32 2020 (r360404) +++ stable/11/usr.bin/diff/diffreg.c Mon Apr 27 22:34:45 2020 (r360405) @@ -1,4 +1,4 @@ -/* $OpenBSD: diffreg.c,v 1.91 2016/03/01 20:57:35 natano Exp $ */ +/* $OpenBSD: diffreg.c,v 1.93 2019/06/28 13:35:00 deraadt Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. @@ -287,7 +287,7 @@ diffreg(char *file1, char *file2, int flags, int capsi else { if (!S_ISREG(stb1.st_mode)) { if ((f1 = opentemp(file1)) == NULL || - fstat(fileno(f1), &stb1) < 0) { + fstat(fileno(f1), &stb1) == -1) { warn("%s", file1); status |= 2; goto closem; @@ -308,7 +308,7 @@ diffreg(char *file1, char *file2, int flags, int capsi else { if (!S_ISREG(stb2.st_mode)) { if ((f2 = opentemp(file2)) == NULL || - fstat(fileno(f2), &stb2) < 0) { + fstat(fileno(f2), &stb2) == -1) { warn("%s", file2); status |= 2; goto closem; @@ -515,12 +515,12 @@ opentemp(const char *f) if (strcmp(f, "-") == 0) ifd = STDIN_FILENO; - else if ((ifd = open(f, O_RDONLY, 0644)) < 0) + else if ((ifd = open(f, O_RDONLY, 0644)) == -1) return (NULL); (void)strlcpy(tempfile, _PATH_TMP "/diff.XXXXXXXX", sizeof(tempfile)); - if ((ofd = mkstemp(tempfile)) < 0) { + if ((ofd = mkstemp(tempfile)) == -1) { close(ifd); return (NULL); } @@ -1011,7 +1011,7 @@ preadline(int fd, size_t rlen, off_t off) ssize_t nr; line = xmalloc(rlen + 1); - if ((nr = pread(fd, line, rlen, off)) < 0) + if ((nr = pread(fd, line, rlen, off)) == -1) err(2, "preadline"); if (nr > 0 && line[nr-1] == '\n') nr--; Modified: stable/11/usr.bin/diff/xmalloc.c ============================================================================== --- stable/11/usr.bin/diff/xmalloc.c Mon Apr 27 22:33:32 2020 (r360404) +++ stable/11/usr.bin/diff/xmalloc.c Mon Apr 27 22:34:45 2020 (r360405) @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.9 2015/11/17 18:25:02 tobias Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.10 2019/06/28 05:44:09 deraadt Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -81,7 +81,7 @@ xasprintf(char **ret, const char *fmt, ...) i = vasprintf(ret, fmt, ap); va_end(ap); - if (i < 0 || *ret == NULL) + if (i == -1) err(2, "xasprintf"); return i;