This patch fixes an issues where temporary files were created in an insecure way. It was first intruduced in version 3.8.3-7 and fixes http://bugs.debian.org/438540 --- a/src/tag_file.cpp +++ b/src/tag_file.cpp @@ -242,8 +242,8 @@ strcpy(sTempFile, filename.c_str()); strcat(sTempFile, sTmpSuffix.c_str()); -#if ((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) - // This section is for Windows folk && gcc 3.x folk +#if !defined(HAVE_MKSTEMP) + // This section is for Windows folk fstream tmpOut; createFile(sTempFile, tmpOut); @@ -257,7 +257,7 @@ tmpOut.write((char *)tmpBuffer, nBytes); } -#else //((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#else //!defined(HAVE_MKSTEMP) // else we gotta make a temp file, copy the tag into it, copy the // rest of the old file after the tag, delete the old file, rename @@ -270,7 +270,7 @@ //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file"); } - ofstream tmpOut(fd); + ofstream tmpOut(sTempFile); if (!tmpOut) { tmpOut.close(); @@ -285,14 +285,14 @@ uchar tmpBuffer[BUFSIZ]; while (file) { - file.read(tmpBuffer, BUFSIZ); + file.read((char *)tmpBuffer, BUFSIZ); size_t nBytes = file.gcount(); - tmpOut.write(tmpBuffer, nBytes); + tmpOut.write((char *)tmpBuffer, nBytes); } close(fd); //closes the file -#endif ////((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#endif ////!defined(HAVE_MKSTEMP) tmpOut.close(); file.close(); ' method='get' action='/guix/log/gnu/packages/llvm.scm'>
path: root/gnu/packages/llvm.scm
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2023-07-30 07:29:37 +0800
committer宋文武 <iyzsong@member.fsf.org>2023-08-03 17:38:10 +0800
commit9b6d058ce134b8f0693e7d87c5612757c572db5e (patch)
tree64a089cfb3b2a9cd062e0798e6c45a58063d08bf /gnu/packages/llvm.scm
parent567a2c755268629f48d79fb67d908f53c6e1295a (diff)
downloadguix-9b6d058ce134b8f0693e7d87c5612757c572db5e.tar.gz
guix-9b6d058ce134b8f0693e7d87c5612757c572db5e.zip
gnu: filelight: Update to 23.04.3.
* gnu/packages/kde-utils.scm (filelight): Update to 23.04.3.
Diffstat (limited to 'gnu/packages/llvm.scm')
0 files changed, 0 insertions, 0 deletions