From 0fc6dde17877ff2ff2194339197b7882e382308e Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 6 Feb 2009 22:56:46 -0600 Subject: [PATCH] make sure multipart parsing has enough bytes to compare against --- basis/mime/multipart/multipart.factor | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/basis/mime/multipart/multipart.factor b/basis/mime/multipart/multipart.factor index eda7849a73..37d5e13129 100755 --- a/basis/mime/multipart/multipart.factor +++ b/basis/mime/multipart/multipart.factor @@ -42,7 +42,7 @@ ERROR: end-of-stream multipart ; [ t >>end-of-stream? ] if* ; : maybe-fill-bytes ( multipart -- multipart ) - dup bytes>> [ fill-bytes ] unless ; + dup bytes>> length 256 < [ fill-bytes ] when ; : split-bytes ( bytes separator -- leftover-bytes safe-to-dump ) dupd [ length ] bi@ 1- - short cut-slice swap ; @@ -65,6 +65,7 @@ ERROR: end-of-stream multipart ; [ dump-until-separator ] with-string-writer ; : read-header ( multipart -- multipart ) + maybe-fill-bytes dup bytes>> "--\r\n" sequence= [ t >>end-of-stream? ] [