| Ticket UUID: | 006e1df642d6246a03dc5a3c8db122cc64fda176 | ||
| Title: | Error in file_tempname | ||
| Status: | Fixed | Type: | Code_Defect |
| Severity: | Critical | Priority: | |
| Subsystem: | Resolution: | Fixed | |
| Last Modified: | 2011-06-17 13:37:20 | ||
| Version Found In: | Check-in [48f5dadafd] | ||
| Description & Comments: | |||
When "gdiff-command" settings is not empty, Fossil is hungup in
fossil gdiff -r revision --to revision filename Error in file.c, in file_tempname function. Piece of diff in file.c:
/* Check that the output buffer is large enough for the temporary file
@@ -653,11 +656,11 @@
sqlite3_randomness(15, &zBuf[j]);
for(i=0; i<15; i++, j++){
zBuf[j] = (char)zChars[ ((unsigned char)zBuf[j])%(sizeof(zChars)-1) ];
}
zBuf[j] = 0;
- }while( access(zBuf,0)==0 );
+ }while( file_size(zBuf)<0 );
}
Must be while( file_size(zBuf)>=0 ); | |||