Fix leak when fd != -1
Change-Id: I07bcf4b678460c86642436d1a69071f765ef63ca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
fe52d1853e
commit
0450d81190
@ -392,8 +392,11 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
|
|||||||
#else
|
#else
|
||||||
fd = open(sourceFile.local().toLatin1().constData(), O_RDONLY);
|
fd = open(sourceFile.local().toLatin1().constData(), O_RDONLY);
|
||||||
#endif
|
#endif
|
||||||
if(fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode))
|
if (fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode)) {
|
||||||
|
if (fd != -1)
|
||||||
|
QT_CLOSE(fd);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
buffer = getBuffer(fst.st_size);
|
buffer = getBuffer(fst.st_size);
|
||||||
for(int have_read = 0;
|
for(int have_read = 0;
|
||||||
(have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len));
|
(have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len));
|
||||||
@ -702,8 +705,11 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
|
|||||||
#else
|
#else
|
||||||
fd = open(fixPathForFile(file->file, true).local().toLocal8Bit().constData(), O_RDONLY);
|
fd = open(fixPathForFile(file->file, true).local().toLocal8Bit().constData(), O_RDONLY);
|
||||||
#endif
|
#endif
|
||||||
if(fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode))
|
if (fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode)) {
|
||||||
|
if (fd != -1)
|
||||||
|
QT_CLOSE(fd);
|
||||||
return false; //shouldn't happen
|
return false; //shouldn't happen
|
||||||
|
}
|
||||||
buffer = getBuffer(fst.st_size);
|
buffer = getBuffer(fst.st_size);
|
||||||
for(int have_read = buffer_len = 0;
|
for(int have_read = buffer_len = 0;
|
||||||
(have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len));
|
(have_read = QT_READ(fd, buffer + buffer_len, fst.st_size - buffer_len));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user