Fixed hang/crash for some mails
This commit is contained in:
parent
05ac003683
commit
1182009fdd
@ -451,11 +451,14 @@ common:
|
|||||||
msg->txt = (char *)throw_realloc(msg->txt, txt_len+outlen);
|
msg->txt = (char *)throw_realloc(msg->txt, txt_len+outlen);
|
||||||
lzh_decode(inbuf, smsg.dfield[i].length - l, (uchar *)(msg->txt+txt_len-1));
|
lzh_decode(inbuf, smsg.dfield[i].length - l, (uchar *)(msg->txt+txt_len-1));
|
||||||
throw_xfree(inbuf);
|
throw_xfree(inbuf);
|
||||||
} else {
|
}
|
||||||
|
else if(l < smsg.dfield[i].length) {
|
||||||
outlen = smsg.dfield[i].length - l;
|
outlen = smsg.dfield[i].length - l;
|
||||||
msg->txt = (char *)throw_realloc(msg->txt, txt_len+outlen);
|
msg->txt = (char *)throw_realloc(msg->txt, txt_len+outlen);
|
||||||
fread(msg->txt+txt_len-1, smsg.dfield[i].length - l, 1, data->sdt_fp);
|
fread(msg->txt+txt_len-1, smsg.dfield[i].length - l, 1, data->sdt_fp);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
outlen = 0;
|
||||||
txt_len+=outlen;
|
txt_len+=outlen;
|
||||||
msg->txt[txt_len-1] = NUL;
|
msg->txt[txt_len-1] = NUL;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user