Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2232)

Unified Diff: android_webview/browser/net/android_stream_reader_url_request_job.h

Issue 11428052: [android_webview] Fix use after free in intercepted requests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/net/android_stream_reader_url_request_job.h
diff --git a/android_webview/browser/net/android_stream_reader_url_request_job.h b/android_webview/browser/net/android_stream_reader_url_request_job.h
index 1053d219476bf9ea0c137065801d9323af8468a3..06c12a17892e4f5f1ed2df000948fd50d72e5392 100644
--- a/android_webview/browser/net/android_stream_reader_url_request_job.h
+++ b/android_webview/browser/net/android_stream_reader_url_request_job.h
@@ -26,6 +26,8 @@ namespace net {
class URLRequest;
}
+class InputStreamReaderWrapper;
+
// A request job that reads data from a Java InputStream.
class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
public:
@@ -42,13 +44,13 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
virtual bool GetMimeType(
JNIEnv* env,
net::URLRequest* request,
- const android_webview::InputStream& stream,
+ android_webview::InputStream& stream,
std::string* mime_type) = 0;
virtual bool GetCharset(
JNIEnv* env,
net::URLRequest* request,
- const android_webview::InputStream& stream,
+ android_webview::InputStream& stream,
std::string* charset) = 0;
virtual ~Delegate() {}
@@ -79,7 +81,7 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
// Creates an InputStreamReader instance.
// Overridden in unittests to return a mock.
- virtual scoped_refptr<android_webview::InputStreamReader>
+ virtual scoped_ptr<android_webview::InputStreamReader>
CreateStreamReader(android_webview::InputStream* stream);
private:
@@ -90,8 +92,7 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
net::HttpByteRange byte_range_;
scoped_ptr<Delegate> delegate_;
- scoped_refptr<android_webview::InputStreamReader> input_stream_reader_;
- scoped_ptr<android_webview::InputStream> stream_;
+ scoped_refptr<InputStreamReaderWrapper> input_stream_reader_wrapper_;
base::WeakPtrFactory<AndroidStreamReaderURLRequestJob> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(AndroidStreamReaderURLRequestJob);

Powered by Google App Engine
This is Rietveld 408576698