From owner-svn-src-all@freebsd.org Fri Oct 23 19:28:26 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 43B25A1D88F; Fri, 23 Oct 2015 19:28:26 +0000 (UTC) (envelope-from asomers@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 mx1.freebsd.org (Postfix) with ESMTPS id EC6A33E0; Fri, 23 Oct 2015 19:28:25 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9NJSPrY086496; Fri, 23 Oct 2015 19:28:25 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9NJSPqA086495; Fri, 23 Oct 2015 19:28:25 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201510231928.t9NJSPqA086495@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 23 Oct 2015 19:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289845 - head/sbin/savecore X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2015 19:28:26 -0000 Author: asomers Date: Fri Oct 23 19:28:24 2015 New Revision: 289845 URL: https://svnweb.freebsd.org/changeset/base/289845 Log: Fix various Coverity issues in sbin/savecore/savecore.c: CID1009429: Fix unchecked return value from lseek while clearing dump CID1007781: Fix file descriptor leak in DoFile CID1007261: Don't send potentially unterminated string to syslog(3) Coverity CID: 1009429 Coverity CID: 1007781 Coverity CID: 1007261 MFC after: 2 weeks Sponsored by: Spectra Logic Differential Revision: https://reviews.freebsd.org/D3991 Modified: head/sbin/savecore/savecore.c Modified: head/sbin/savecore/savecore.c ============================================================================== --- head/sbin/savecore/savecore.c Fri Oct 23 19:28:15 2015 (r289844) +++ head/sbin/savecore/savecore.c Fri Oct 23 19:28:24 2015 (r289845) @@ -606,7 +606,8 @@ DoFile(const char *savedir, const char * } if (kdhl.panicstring[0]) - syslog(LOG_ALERT, "reboot after panic: %s", kdhl.panicstring); + syslog(LOG_ALERT, "reboot after panic: %*s", + (int)sizeof(kdhl.panicstring), kdhl.panicstring); else syslog(LOG_ALERT, "reboot"); @@ -657,7 +658,7 @@ DoFile(const char *savedir, const char * if (info == NULL) { syslog(LOG_ERR, "fdopen failed: %m"); nerr++; - goto closefd; + goto closeall; } xostyle = xo_get_style(NULL); @@ -665,7 +666,7 @@ DoFile(const char *savedir, const char * if (xoinfo == NULL) { syslog(LOG_ERR, "%s: %m", infoname); nerr++; - goto closefd; + goto closeall; } xo_open_container_h(xoinfo, "crashdump"); @@ -726,9 +727,8 @@ nuke: if (verbose) printf("clearing dump header\n"); memcpy(kdhl.magic, KERNELDUMPMAGIC_CLEARED, sizeof kdhl.magic); - lseek(fd, lasthd, SEEK_SET); - error = write(fd, &kdhl, sizeof kdhl); - if (error != sizeof kdhl) + if (lseek(fd, lasthd, SEEK_SET) != lasthd || + write(fd, &kdhl, sizeof(kdhl)) != sizeof(kdhl)) syslog(LOG_ERR, "error while clearing the dump header: %m"); }