Browse Source

fix failure of tempnam to null-terminate result

tempnam uses an uninitialized buffer which is filled using memcpy and
__randname. It is therefore necessary to explicitly null-terminate it.

based on patch by Felix Janda.
Rich Felker 9 years ago
parent
commit
062bb737de
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/stdio/tempnam.c

+ 1 - 0
src/stdio/tempnam.c

@@ -33,6 +33,7 @@ char *tempnam(const char *dir, const char *pfx)
 	s[dl] = '/';
 	memcpy(s+dl+1, pfx, pl);
 	s[dl+1+pl] = '_';
+	s[l] = 0;
 
 	for (try=0; try<MAXTRIES; try++) {
 		__randname(s+l-6);