]> xenbits.xensource.com Git - libvirt.git/commitdiff
g_mkstemp_full: pass O_RDWR
authorJán Tomko <jtomko@redhat.com>
Mon, 18 Nov 2019 16:45:54 +0000 (17:45 +0100)
committerJán Tomko <jtomko@redhat.com>
Mon, 18 Nov 2019 17:49:02 +0000 (18:49 +0100)
This flag is not implied by g_mkstemp_full, only by g_mkstemp.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reported-by: Bjoern Walk <bwalk@linux.ibm.com>
Fixes: 4ac47730408eaf91683f6502ec10541f4f711a5c
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_driver.c
src/storage/storage_util.c
src/util/virlog.c
src/vbox/vbox_common.c
tests/virfiletest.c
tools/vsh.c

index 60f57327082f460e5222aa68614d179d1def0ff3..7fd87a9d760afdaf9178a5ab6e05d225617e06a4 100644 (file)
@@ -4024,7 +4024,7 @@ qemuDomainScreenshot(virDomainPtr dom,
     if (!(tmp = g_strdup_printf("%s/qemu.screendump.XXXXXX", cfg->cacheDir)))
         goto endjob;
 
-    if ((tmp_fd = g_mkstemp_full(tmp, O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
+    if ((tmp_fd = g_mkstemp_full(tmp, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
         virReportSystemError(errno, _("g_mkstemp(\"%s\") failed"), tmp);
         goto endjob;
     }
@@ -11970,7 +11970,7 @@ qemuDomainMemoryPeek(virDomainPtr dom,
         goto endjob;
 
     /* Create a temporary filename. */
-    if ((fd = g_mkstemp_full(tmp, O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
+    if ((fd = g_mkstemp_full(tmp, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
         virReportSystemError(errno,
                              _("g_mkstemp(\"%s\") failed"), tmp);
         goto endjob;
index 6d41df8d7ed40211b59c8e20dc58f2d4a88b2746..f2d8810813f1342e4adf03bfb9e6ae9911645b57 100644 (file)
@@ -1215,7 +1215,7 @@ storageBackendCreateQemuImgSecretPath(virStoragePoolObjPtr pool,
     if (!(secretPath = virStoragePoolObjBuildTempFilePath(pool, vol)))
         goto cleanup;
 
-    if ((fd = g_mkstemp_full(secretPath, O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0) {
+    if ((fd = g_mkstemp_full(secretPath, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0) {
         virReportSystemError(errno, "%s",
                              _("failed to open secret file for write"));
         goto error;
index 05052e9d09768a8ae7e3f88a882a6ffaee90b1f5..d45e2dd316ac9256aefc31bce7f41527ffeea89f 100644 (file)
@@ -992,7 +992,7 @@ virLogOutputToJournald(virLogSourcePtr source,
      * and pass an FD to the journal
      */
 
-    if ((buffd = g_mkstemp_full(path, O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0)
+    if ((buffd = g_mkstemp_full(path, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0)
         return;
 
     if (unlink(path) < 0)
index 88ef41b5df05a71087aa12ea89a30eada9d5d939..9e41b6767ae48250a81916f8c55a81a8c5ae478c 100644 (file)
@@ -7385,7 +7385,7 @@ vboxDomainScreenshot(virDomainPtr dom,
 
     tmp = g_strdup_printf("%s/vbox.screendump.XXXXXX", cacheDir);
 
-    if ((tmp_fd = g_mkstemp_full(tmp, O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
+    if ((tmp_fd = g_mkstemp_full(tmp, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
         virReportSystemError(errno, _("g_mkstemp(\"%s\") failed"), tmp);
         VIR_FREE(tmp);
         VBOX_RELEASE(machine);
index 193c5bedd4840f08ee32a60f8b284b4d66372991..781c640e2b958beb5624ed51810edc45b8cb20f3 100644 (file)
@@ -133,7 +133,7 @@ makeSparseFile(const off_t offsets[],
     off_t len = 0;
     size_t i;
 
-    if ((fd = g_mkstemp_full(path,  O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0)
+    if ((fd = g_mkstemp_full(path, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) < 0)
         goto error;
 
     if (unlink(path) < 0)
index b5de06f26bd18e63cc6c3ab2a74364202d2473ce..1076c8254b6ff2e9a2216b8774e3d339b063779c 100644 (file)
@@ -2400,7 +2400,7 @@ vshEditWriteToTempFile(vshControl *ctl, const char *doc)
     tmpdir = getenv("TMPDIR");
     if (!tmpdir) tmpdir = "/tmp";
     ret = g_strdup_printf("%s/virshXXXXXX.xml", tmpdir);
-    fd = g_mkstemp_full(ret, O_CLOEXEC, S_IRUSR | S_IWUSR);
+    fd = g_mkstemp_full(ret, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR);
     if (fd == -1) {
         vshError(ctl, _("g_mkstemp_full: failed to create temporary file: %s"),
                  virStrerror(errno, ebuf, sizeof(ebuf)));