Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage-utils:master commit in: /
Date: Wed, 22 Jan 2020 19:54:09
Message-Id: 1579722781.2a819a2ff765005b4e6dbda35f794443c27522ee.grobian@gentoo
1 commit: 2a819a2ff765005b4e6dbda35f794443c27522ee
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 22 19:53:01 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 22 19:53:01 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=2a819a2f
7
8 qpkg: fix Coverity 125928 Insecure temporary file
9
10 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
11
12 qpkg.c | 6 +++++-
13 1 file changed, 5 insertions(+), 1 deletion(-)
14
15 diff --git a/qpkg.c b/qpkg.c
16 index 948d564..eaca37b 100644
17 --- a/qpkg.c
18 +++ b/qpkg.c
19 @@ -179,6 +179,7 @@ qpkg_make(depend_atom *atom)
20 int i;
21 char *xpak_argv[2];
22 struct stat st;
23 + mode_t mask;
24
25 if (pretend) {
26 printf(" %s-%s %s:\n",
27 @@ -197,7 +198,10 @@ qpkg_make(depend_atom *atom)
28 }
29
30 snprintf(tmpdir, sizeof(tmpdir), "%s/qpkg.XXXXXX", qpkg_bindir);
31 - if ((i = mkstemp(tmpdir)) == -1) {
32 + mask = umask(0077);
33 + i = mkstemp(tmpdir);
34 + umask(mask);
35 + if (i == -1) {
36 fclose(fp);
37 free(buf);
38 return -2;