commit 92921b1d3b7262eaa0fbb095cc714098b431c2f9
Author: Oswald Buddenhagen <o...@users.sf.net>
Date:   Wed Nov 24 17:51:06 2021 +0100

    reject messages that grow too large due to conversion
    
    that shouldn't really be a problem, as we have 2GB of headroom, and most
    growth would happen when sending an all-newlines message from maildir to
    imap (due to CR additions), which is mostly non-critical. but better
    safe than sorry.

 src/sync.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/sync.c b/src/sync.c
index 978521c..32d4fa1 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -494,6 +494,12 @@ copy_msg_convert( int in_cr, int out_cr, copy_vars_t 
*vars, int t )
        }
 
        vars->data.len = in_len + extra;
+       if (vars->data.len > INT_MAX) {
+               warn( "Warning: message %u from %s is too big after conversion; 
skipping.\n",
+                     vars->msg->uid, str_fn[1-t] );
+               free( in_buf );
+               return 0;
+       }
        char *out_buf = vars->data.data = nfmalloc( vars->data.len );
        idx = 0;
        if (vars->srec) {


_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to