| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- Security Bugfixes (CVE-2005-3011, CVE-2006-4810)
- Index: util/texindex.c
- --- util/texindex.c.orig 2004-04-11 19:56:47 +0200
- +++ util/texindex.c 2006-11-14 23:39:23 +0100
- @@ -390,11 +390,12 @@
- maketempname (int count)
- {
- static char *tempbase = NULL;
- + char *tempname;
- char tempsuffix[10];
- + int fd;
-
- if (!tempbase)
- {
- - int fd;
- tempbase = concat (tempdir, "txidxXXXXXX");
-
- fd = mkstemp (tempbase);
- @@ -403,7 +404,12 @@
- }
-
- sprintf (tempsuffix, ".%d", count);
- - return concat (tempbase, tempsuffix);
- + tempname = concat (tempbase, tempsuffix);
- + fd = open (tempname, O_CREAT|O_EXCL|O_WRONLY, 0600);
- + if (fd == -1)
- + pfatal_with_name (tempname);
- + close (fd);
- + return tempname;
- }
-
-
- @@ -837,7 +843,7 @@
- {
- buffer = (char *) xrealloc (buffer, linebuffer->size *= 2);
- p += buffer - linebuffer->buffer;
- - end += buffer - linebuffer->buffer;
- + end = buffer + linebuffer->size;
- linebuffer->buffer = buffer;
- }
- if (c < 0 || c == '\n')
|