fix segfault in SSL if limit_rate is used
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
index c46a47d..5388616 100644
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -946,7 +946,7 @@
 
     for ( ;; ) {
 
-        while (in && buf->last < buf->end) {
+        while (in && buf->last < buf->end && send < limit) {
             if (in->buf->last_buf || in->buf->flush) {
                 flush = 1;
             }
@@ -973,8 +973,8 @@
             ngx_memcpy(buf->last, in->buf->pos, size);
 
             buf->last += size;
-
             in->buf->pos += size;
+            send += size;
 
             if (in->buf->pos == in->buf->last) {
                 in = in->next;
@@ -999,7 +999,6 @@
         }
 
         buf->pos += n;
-        send += n;
         c->sent += n;
 
         if (n < size) {