]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix obscure HTTP chunked parsing problem
authorLars Ingebrigtsen <larsi@gnus.org>
Wed, 15 May 2019 05:12:26 +0000 (07:12 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 15 May 2019 05:12:26 +0000 (07:12 +0200)
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Ensure that we
parse the entire initial chunked header as the length (bug#35658).

lisp/url/url-http.el

index 03b863b69a8514eedc6a7d92ec6a59027c63ff5d..48e29987a51510205754118be63f58f2c0966d93 100644 (file)
@@ -1084,6 +1084,12 @@ the end of the document."
                ;; need to spin some more.
                (url-http-debug "Did not see start of chunk @ %d!" (point))
                (setq read-next-chunk nil))
+            ;; The data we got may have started in the middle of the
+            ;; initial chunk header, so move back to the start of the
+            ;; line and re-compute.
+            (when (= url-http-chunked-counter 0)
+              (beginning-of-line)
+              (looking-at regexp))
            (add-text-properties (match-beginning 0) (match-end 0)
                                 (list 'start-open t
                                       'end-open t