Skip to content
  • Kevin J. McCarthy's avatar
    Compress: fix several logic and memory bugs. · 203c84f9
    Kevin J. McCarthy authored
    setup_paths leaks memory: realpath is already set in mx_open_mailbox()
    
    restore_paths is unneeded.  mx_fastclose_mailbox() will free stuff,
    and nothing is looking at the path once we are closing or aborting.
    
    Make a copy of the hooks.  Otherwise 'unhook *' will leave dangling
    pointers.
    
    Add compress_info freeing inside mx_fastclose_mailbox().  Only free
    inside compress.c when we want to prevent close() from doing anything.
    
    close_mailbox() didn't preserve ctx->path on error.
    
    execute_command() didn't return an error if the mutt_system() command
    failed.
    
    mx_open_mailbox_append() should check mutt_comp_can_append() only for
    the case that the mailbox doesn't exist.  When it exists,
    mx_get_magic() has already looked at the file contents before checking
    for matching open_hooks.
    
    In open_append_mailbox() if no append hook is defined, it should't
    call ci->open() if the mailbox doesn't exist.  It should act just like
    append and create a temporary file.
    
    check_mailbox() needs more work.  For now, at least have it properly
    close the mailbox on error.
    203c84f9