Fix av_file_map(): replace stat(filename, &st) with fstat(fd, &st).

The file might be replaced between open() and stat().
Spotted by Mans.

Originally committed as revision 26075 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Stefano Sabatini 2010-12-22 16:16:31 +00:00
parent 1b31037d62
commit f02cbc4590
1 changed files with 2 additions and 2 deletions

View File

@ -54,10 +54,10 @@ int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
return err;
}
if (stat(filename, &st) < 0) {
if (fstat(fd, &st) < 0) {
err = AVERROR(errno);
av_strerror(err, errbuf, sizeof(errbuf));
av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in lstat(): %s\n", errbuf);
av_log(&file_log_ctx, AV_LOG_ERROR, "Error occurred in fstat(): %s\n", errbuf);
close(fd);
return err;
}