Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2016 18:56:40 +0000 (UTC)
From:      Bartek Rutkowski <robak@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r309921 - head/bin/dd
Message-ID:  <201612121856.uBCIuePK077524@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: robak (ports committer)
Date: Mon Dec 12 18:56:40 2016
New Revision: 309921
URL: https://svnweb.freebsd.org/changeset/base/309921

Log:
  Fix regression when stdin/out/err fds are are overridden by shell.
  
  Submitted by:	Pawel Biernacki <pawel.biernacki@gmail.com>
  Reported by:	ngie
  Approved by:	ngie
  Sponsored by:	Mysterious Code Ltd.
  Differential Revision:	https://reviews.freebsd.org/D8543

Modified:
  head/bin/dd/dd.c

Modified: head/bin/dd/dd.c
==============================================================================
--- head/bin/dd/dd.c	Mon Dec 12 18:55:41 2016	(r309920)
+++ head/bin/dd/dd.c	Mon Dec 12 18:56:40 2016	(r309921)
@@ -142,8 +142,6 @@ setup(void)
 		in.fd = open(in.name, O_RDONLY, 0);
 		if (in.fd == -1)
 			err(1, "%s", in.name);
-		if (caph_limit_stdin() == -1)
-			err(1, "unable to limit capability rights");
 	}
 
 	getfdtype(&in);
@@ -176,8 +174,6 @@ setup(void)
 		}
 		if (out.fd == -1)
 			err(1, "%s", out.name);
-		if (caph_limit_stdout() == -1)
-			err(1, "unable to limit capability rights");
 	}
 
 	getfdtype(&out);
@@ -188,6 +184,16 @@ setup(void)
 	    errno != ENOSYS)
 		err(1, "unable to limit capability rights");
 
+	if (in.fd != STDIN_FILENO && out.fd != STDIN_FILENO) {
+		if (caph_limit_stdin() == -1)
+			err(1, "unable to limit capability rights");
+	}
+
+	if (in.fd != STDOUT_FILENO && out.fd != STDOUT_FILENO) {
+		if (caph_limit_stdout() == -1)
+			err(1, "unable to limit capability rights");
+	}
+
 	if (in.fd != STDERR_FILENO && out.fd != STDERR_FILENO) {
 		if (caph_limit_stderr() == -1)
 			err(1, "unable to limit capability rights");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612121856.uBCIuePK077524>