Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/65b16f4c54eba748ee4c8b6580e6f08fc27534f8
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/65b16f4c54eba748ee4c8b6580e6f08fc27534f8
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/65b16f4c54eba748ee4c8b6580e6f08fc27534f8

The branch, master has been updated
       via  65b16f4c54eba748ee4c8b6580e6f08fc27534f8 (commit)
      from  0db71994ea8ffd8a95b38b4ca415bc76d75a3acf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=65b16f4c54eba748ee4c8b6580e6f08fc27534f8
commit 65b16f4c54eba748ee4c8b6580e6f08fc27534f8
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Curl fetcher: Force HTTP1.1 to fix HTTP2 crash.
    
    On ubuntu 19.4, curl is built with HTTP2 support, and we
    segfault.
    
    ==18174== Invalid read of size 1
    ==18174==    at 0x4ACCE7D: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4B054B1: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AD398A: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AD7A0B: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AE93EE: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AEA8A8: curl_multi_perform (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x1F2EF7: fetch_curl_poll (curl.c:1209)
    ==18174==    by 0x1EEC5C: fetcher_poll (fetch.c:271)
    ==18174==    by 0x2A1ED4: schedule_run (schedule.c:160)
    ==18174==    by 0x15F941: framebuffer_run (gui.c:596)
    ==18174==    by 0x15F941: main (gui.c:2206)
    ==18174==  Address 0x9de95a8 is 3,224 bytes inside a block of size 6,304 
free'd
    ==18174==    at 0x483997B: free (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==18174==    by 0x4AD497B: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AE158C: curl_easy_cleanup (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x1F30DE: fetch_curl_cache_handle (curl.c:761)
    ==18174==    by 0x1F30DE: fetch_curl_stop (curl.c:840)
    ==18174==    by 0x1F30DE: fetch_curl_done (curl.c:1122)
    ==18174==    by 0x1F30DE: fetch_curl_poll (curl.c:1223)
    ==18174==    by 0x1EEC5C: fetcher_poll (fetch.c:271)
    ==18174==    by 0x2A1ED4: schedule_run (schedule.c:160)
    ==18174==    by 0x15F941: framebuffer_run (gui.c:596)
    ==18174==    by 0x15F941: main (gui.c:2206)
    ==18174==  Block was alloc'd at
    ==18174==    at 0x483AB35: calloc (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==18174==    by 0x4AE165F: curl_easy_duphandle (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x1F15EB: fetch_curl_get_handle (curl.c:738)
    ==18174==    by 0x1F15EB: fetch_curl_start (curl.c:750)
    ==18174==    by 0x1EEB22: fetch_dispatch_job (fetch.c:156)
    ==18174==    by 0x1EEB22: fetch_choose_and_dispatch (fetch.c:187)
    ==18174==    by 0x1EEB22: fetch_dispatch_jobs (fetch.c:247)
    ==18174==    by 0x1EF1BB: fetch_start (fetch.c:573)
    ==18174==    by 0x26C779: llcache_object_refetch (llcache.c:916)
    ==18174==    by 0x26D5E4: llcache_object_fetch (llcache.c:979)
    ==18174==    by 0x26D5E4: llcache_object_retrieve_from_cache 
(llcache.c:1767)
    ==18174==    by 0x26D5E4: llcache_object_retrieve (llcache.c:1865)
    ==18174==    by 0x26E42C: llcache_fetch_redirect (llcache.c:2110)
    ==18174==    by 0x26E42C: llcache_fetch_callback (llcache.c:2810)
    ==18174==    by 0x1F1295: fetch_curl_process_headers (curl.c:922)
    ==18174==    by 0x1F13A0: fetch_curl_data (curl.c:1324)
    ==18174==    by 0x4ACD4C3: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
    ==18174==    by 0x4AE00DA: ??? (in 
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)

diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 7ce7c5b..4602f6a 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -1519,6 +1519,10 @@ nserror fetch_curl_register(void)
        if (nsoption_bool(suppress_curl_debug)) {
                SETOPT(CURLOPT_DEBUGFUNCTION, fetch_curl_ignore_debug);
        }
+
+       /* Currently we explode if curl uses HTTP2, so force 1.1. */
+       SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
+
        SETOPT(CURLOPT_WRITEFUNCTION, fetch_curl_data);
        SETOPT(CURLOPT_HEADERFUNCTION, fetch_curl_header);
        SETOPT(CURLOPT_PROGRESSFUNCTION, fetch_curl_progress);


-----------------------------------------------------------------------

Summary of changes:
 content/fetchers/curl.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 7ce7c5b..4602f6a 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -1519,6 +1519,10 @@ nserror fetch_curl_register(void)
        if (nsoption_bool(suppress_curl_debug)) {
                SETOPT(CURLOPT_DEBUGFUNCTION, fetch_curl_ignore_debug);
        }
+
+       /* Currently we explode if curl uses HTTP2, so force 1.1. */
+       SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
+
        SETOPT(CURLOPT_WRITEFUNCTION, fetch_curl_data);
        SETOPT(CURLOPT_HEADERFUNCTION, fetch_curl_header);
        SETOPT(CURLOPT_PROGRESSFUNCTION, fetch_curl_progress);


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to