]> git.llucax.com Git - software/mutt-debian.git/blob - debian/patches/upstream/311296-rand-mktemp.patch
upstream/603288-split-fetches.patch: split FETCH's into smaller chunks, workaround...
[software/mutt-debian.git] / debian / patches / upstream / 311296-rand-mktemp.patch
1 More random file creation in /tmp to prevent DOS, see CVE CAN-2005-2351 and
2 upstream http://bugs.mutt.org/3158
3
4 --- a/muttlib.c
5 +++ b/muttlib.c
6 @@ -748,7 +748,12 @@
7  
8  void _mutt_mktemp (char *s, const char *src, int line)
9  {
10 -  snprintf (s, _POSIX_PATH_MAX, "%s/mutt-%s-%d-%d-%d", NONULL (Tempdir), NONULL(Hostname), (int) getuid(), (int) getpid (), Counter++);
11 +  long sek;
12 +
13 +  time(&sek);
14 +  srand(sek);
15 +  snprintf (s, _POSIX_PATH_MAX, "%s/mutt-%s-%d-%d-%d%x%x", NONULL (Tempdir), NONULL(Hostname), (int) getuid(), (int) getpid (),
16 +            Counter++, (unsigned int) rand(), (unsigned int) rand());
17    dprint (3, (debugfile, "%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s));
18    unlink (s);
19  }