From abe0e0291039f37b9a445c6370d0979ce8017a31 Mon Sep 17 00:00:00 2001 From: anon tahoe Date: Wed, 18 May 2016 14:46:42 +0200 Subject: [PATCH] replaced mktemp by mkstemp (cherry-picked from anontahoe repository) --- libretroshare/src/pgp/pgphandler.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libretroshare/src/pgp/pgphandler.cc b/libretroshare/src/pgp/pgphandler.cc index 9f307d6ae..9c07156e8 100644 --- a/libretroshare/src/pgp/pgphandler.cc +++ b/libretroshare/src/pgp/pgphandler.cc @@ -1978,12 +1978,15 @@ bool PGPHandler::removeKeysFromPGPKeyring(const std::set& keys_to_remov char template_name[_pubring_path.length()+8] ; sprintf(template_name,"%s.XXXXXX",_pubring_path.c_str()) ; - if(mktemp(template_name) == NULL) + int fd_keyring_backup(mkstemp(template_name)); + + if (fd_keyring_backup == -1) { std::cerr << "PGPHandler::removeKeysFromPGPKeyring(): cannot create keyring backup file. Giving up." << std::endl; error_code = PGP_KEYRING_REMOVAL_ERROR_CANNOT_CREATE_BACKUP ; return false ; } + close(fd_keyring_backup); // TODO: keep the file open and use the fd if(!ops_write_keyring_to_file(_pubring,ops_false,template_name,ops_true)) {