X-Git-Url: http://git.pld-linux.org/?p=packages%2Fopenssl.git;a=blobdiff_plain;f=openssl-fix_use_after_free.patch;h=af1b5ef204417eff5b2a1179f5e87c1c31049162;hp=f00d291005fab470a8d4e379cad1f4dc31ef622f;hb=56764bc673df2a311148cba5eaded505f146e84f;hpb=d9d42adfbd8b87641c95ae4f91c14a8621de0d00 diff --git a/openssl-fix_use_after_free.patch b/openssl-fix_use_after_free.patch index f00d291..af1b5ef 100644 --- a/openssl-fix_use_after_free.patch +++ b/openssl-fix_use_after_free.patch @@ -1,15 +1,13 @@ diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c -index b9e45c7..30b74c2 100644 +index b9e45c7..d601a18 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c -@@ -1335,7 +1335,8 @@ start: +@@ -1334,7 +1334,7 @@ start: + { s->rstate=SSL_ST_READ_HEADER; rr->off=0; - if (s->mode & SSL_MODE_RELEASE_BUFFERS) -- ssl3_release_read_buffer(s); -+ if (s->s3->rbuf.left == 0) /* no read-ahead left? */ -+ ssl3_release_read_buffer(s); +- if (s->mode & SSL_MODE_RELEASE_BUFFERS) ++ if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0) + ssl3_release_read_buffer(s); } } - return(n); -