mirror of
https://github.com/adulau/ssldump.git
synced 2024-12-22 16:05:58 +00:00
- fix mis calculation of read_left if queue already has some data, which might not be bigger than ssl_header_size
- update q->ptr only if q->data is changed
This commit is contained in:
parent
2c602e876a
commit
e6cd50ed6c
1 changed files with 4 additions and 2 deletions
|
@ -347,7 +347,9 @@ static int read_ssl_record(obj,q,seg,offset,lastp,offsetp)
|
|||
|
||||
switch(q->state){
|
||||
case SSL_READ_NONE:
|
||||
q->read_left=SSL_HEADER_SIZE;
|
||||
if (SSL_HEADER_SIZE<q->len)
|
||||
ABORT(-1);
|
||||
q->read_left=SSL_HEADER_SIZE-q->len;
|
||||
if(r=read_data(q,seg,offset,&last,&offset))
|
||||
ABORT(r);
|
||||
|
||||
|
@ -374,9 +376,9 @@ static int read_ssl_record(obj,q,seg,offset,lastp,offsetp)
|
|||
if(!(q->data=realloc(q->data,rec_len+5)))
|
||||
ABORT(R_NO_MEMORY);
|
||||
q->_allocated=rec_len+SSL_HEADER_SIZE;
|
||||
q->ptr=q->data+SSL_HEADER_SIZE;
|
||||
};
|
||||
|
||||
q->ptr=q->data+SSL_HEADER_SIZE;
|
||||
q->read_left=rec_len;
|
||||
|
||||
case SSL_READ_HEADER:
|
||||
|
|
Loading…
Reference in a new issue