From fb1ef04ef8edac85f2d391c508e286621057fef6 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 17 Sep 2018 13:55:23 +0200 Subject: loplugin:useuniqueptr in VtableFactory::createBlock Change-Id: I6fd0495277301dfa15bb456f30b8386aea86fe60 Reviewed-on: https://gerrit.libreoffice.org/60622 Tested-by: Jenkins Reviewed-by: Noel Grandin --- bridges/source/cpp_uno/shared/vtablefactory.cxx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx b/bridges/source/cpp_uno/shared/vtablefactory.cxx index bbeedcaad3c3..4789b0341ebd 100644 --- a/bridges/source/cpp_uno/shared/vtablefactory.cxx +++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx @@ -243,18 +243,17 @@ bool VtableFactory::createBlock(Block &block, sal_Int32 slotCount) const strDirectory += "/.execoooXXXXXX"; OString aTmpName = OUStringToOString(strDirectory, osl_getThreadTextEncoding()); - char *tmpfname = new char[aTmpName.getLength()+1]; - strncpy(tmpfname, aTmpName.getStr(), aTmpName.getLength()+1); + std::unique_ptr tmpfname(new char[aTmpName.getLength()+1]); + strncpy(tmpfname.get(), aTmpName.getStr(), aTmpName.getLength()+1); // coverity[secure_temp] - https://communities.coverity.com/thread/3179 - if ((block.fd = mkstemp(tmpfname)) == -1) - fprintf(stderr, "mkstemp(\"%s\") failed: %s\n", tmpfname, strerror(errno)); + if ((block.fd = mkstemp(tmpfname.get())) == -1) + fprintf(stderr, "mkstemp(\"%s\") failed: %s\n", tmpfname.get(), strerror(errno)); if (block.fd == -1) { - delete[] tmpfname; break; } - unlink(tmpfname); - delete[] tmpfname; + unlink(tmpfname.get()); + tmpfname.reset(); #if defined(HAVE_POSIX_FALLOCATE) int err = posix_fallocate(block.fd, 0, block.size); #else -- cgit