On 10/31/2012 03:42 PM, Eric Blake wrote: > https://bugzilla.redhat.com/show_bug.cgi?id=871756 > > Commit cd1e8d1 assumed that systems new enough to have journald > also have mkostemp; but this is not true for uclibc. > > For that matter, use of mkstemp[s] is unsafe in a multi-threaded > program. We should prefer mkostemp[s] in the first place. > > * bootstrap.conf (gnulib_modules): Add mkostemp, mkostemps; drop > mkstemp and mkstemps. > * cfg.mk (sc_prohibit_mkstemp): New syntax check. > * tools/virsh.c (vshEditWriteToTempFile): Adjust caller. > * src/qemu/qemu_driver.c (qemuDomainScreenshot) > (qemudDomainMemoryPeek): Likewise. > * src/secret/secret_driver.c (replaceFile): Likewise. > * src/vbox/vbox_tmpl.c (vboxDomainScreenshot): Likewise. > --- > bootstrap.conf | 4 ++-- > cfg.mk | 6 ++++++ > src/qemu/qemu_driver.c | 8 ++++---- > src/secret/secret_driver.c | 4 ++-- > src/vbox/vbox_tmpl.c | 4 ++-- > tools/virsh.c | 2 +- > 6 files changed, 17 insertions(+), 11 deletions(-) > [...] > diff --git a/tools/virsh.c b/tools/virsh.c > index f0ec625..5388c9e 100644 > --- a/tools/virsh.c > +++ b/tools/virsh.c > @@ -565,7 +565,7 @@ vshEditWriteToTempFile(vshControl *ctl, const char *doc) > vshError(ctl, "%s", _("out of memory")); > return NULL; > } > - fd = mkstemps(ret, 4); > + fd = mkostemps(ret, 4, O_CLOEXEC); > if (fd == -1) { > vshError(ctl, _("mkstemps: failed to create temporary file: %s"), This message should be changed as well. > virStrerror(errno, ebuf, sizeof(ebuf))); > ACK with that changed. Martin -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list