986c0a7d5e
```sh git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" | while read template; do for p in ${template%/template}/patches/*; do sed -i ' \,^[+-][+-][+-] /dev/null,b /^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b s,^[*][*][*] ,&a/, /^--- /{ s,\(^--- \)\(./\)*,\1a/, s,[.][Oo][Rr][Ii][Gg]\([ /]\),\1, s/[.][Oo][Rr][Ii][Gg]$// s/[.]patched[.]\([^.]\)/.\1/ h } /^+++ -/{ g s/^--- a/+++ b/ b } s,\(^+++ \)\(./\)*,\1b/, ' "$p" done sed -i '/^patch_args=/d' $template done ```
55 lines
1.6 KiB
Diff
55 lines
1.6 KiB
Diff
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();
|
|
|