Title: [187765] trunk/Source/WebKit2
- Revision
- 187765
- Author
- [email protected]
- Date
- 2015-08-03 14:30:38 -0700 (Mon, 03 Aug 2015)
Log Message
Make sure error handling code APIUserContentExtensionStore closes open file descriptors
https://bugs.webkit.org/show_bug.cgi?id=147562
Reviewed by Alex Christensen.
Make sure error handling code APIUserContentExtensionStore closes open
file descriptors to avoid leaking them.
* NetworkProcess/cache/NetworkCacheData.cpp:
(WebKit::NetworkCache::adoptAndMapFile):
* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::compiledToFile):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (187764 => 187765)
--- trunk/Source/WebKit2/ChangeLog 2015-08-03 21:27:19 UTC (rev 187764)
+++ trunk/Source/WebKit2/ChangeLog 2015-08-03 21:30:38 UTC (rev 187765)
@@ -1,3 +1,18 @@
+2015-08-03 Chris Dumez <[email protected]>
+
+ Make sure error handling code APIUserContentExtensionStore closes open file descriptors
+ https://bugs.webkit.org/show_bug.cgi?id=147562
+
+ Reviewed by Alex Christensen.
+
+ Make sure error handling code APIUserContentExtensionStore closes open
+ file descriptors to avoid leaking them.
+
+ * NetworkProcess/cache/NetworkCacheData.cpp:
+ (WebKit::NetworkCache::adoptAndMapFile):
+ * UIProcess/API/APIUserContentExtensionStore.cpp:
+ (API::compiledToFile):
+
2015-08-03 Beth Dakin <[email protected]>
Need WKWebView API to enable/disable link preview
Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.cpp (187764 => 187765)
--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.cpp 2015-08-03 21:27:19 UTC (rev 187764)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.cpp 2015-08-03 21:30:38 UTC (rev 187765)
@@ -86,8 +86,10 @@
Data adoptAndMapFile(int fd, size_t offset, size_t size)
{
- if (!size)
+ if (!size) {
+ close(fd);
return Data::empty();
+ }
void* map = mmap(nullptr, size, PROT_READ, MAP_PRIVATE, fd, offset);
if (map == MAP_FAILED) {
Modified: trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp (187764 => 187765)
--- trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp 2015-08-03 21:27:19 UTC (rev 187764)
+++ trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp 2015-08-03 21:30:38 UTC (rev 187765)
@@ -253,15 +253,21 @@
char invalidHeader[ContentExtensionFileHeaderSize];
memset(invalidHeader, 0xFF, sizeof(invalidHeader));
// This header will be rewritten in CompilationClient::finalize.
- if (WebCore::writeToFile(temporaryFileHandle, invalidHeader, sizeof(invalidHeader)) == -1)
+ if (WebCore::writeToFile(temporaryFileHandle, invalidHeader, sizeof(invalidHeader)) == -1) {
+ WebCore::closeFile(temporaryFileHandle);
return UserContentExtensionStore::Error::CompileFailed;
+ }
CompilationClient compilationClient(temporaryFileHandle, metaData);
- if (auto compilerError = compileRuleList(compilationClient, WTF::move(json)))
+ if (auto compilerError = compileRuleList(compilationClient, WTF::move(json))) {
+ WebCore::closeFile(temporaryFileHandle);
return compilerError;
- if (compilationClient.hadErrorWhileWritingToFile())
+ }
+ if (compilationClient.hadErrorWhileWritingToFile()) {
+ WebCore::closeFile(temporaryFileHandle);
return UserContentExtensionStore::Error::CompileFailed;
+ }
mappedData = adoptAndMapFile(temporaryFileHandle, 0, metaData.fileSize());
if (mappedData.isNull())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes