From 0ad014c8a0af88e1434650b3d7e0122fb7ff58f5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 25 Jul 2010 14:00:46 +0200 Subject: Fix memory access to 'cryptmethod' during recovery. (Dominique Pelle) --- src/memline.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/memline.c') diff --git a/src/memline.c b/src/memline.c index 9fe9439ae2..148da61d0a 100644 --- a/src/memline.c +++ b/src/memline.c @@ -1155,7 +1155,7 @@ ml_recover() /* * Allocate a buffer structure for the swap file that is used for recovery. - * Only the memline in it is really used. + * Only the memline and crypt information in it are really used. */ buf = (buf_T *)alloc((unsigned)sizeof(buf_T)); if (buf == NULL) @@ -1188,6 +1188,7 @@ ml_recover() #ifdef FEAT_CRYPT mfp->mf_buffer = buf; buf->b_p_key = empty_option; + buf->b_p_cm = empty_option; #endif /* @@ -1685,6 +1686,7 @@ theend: #ifdef FEAT_CRYPT if (buf->b_p_key != curbuf->b_p_key) free_string_option(buf->b_p_key); + free_string_option(buf->b_p_cm); #endif vim_free(buf->b_ml.ml_stack); vim_free(buf); @@ -4939,7 +4941,7 @@ ml_crypt_prepare(mfp, offset, reading) #define MLCS_MINL 400 /* should be half of MLCS_MAXL */ /* - * Keep information for finding byte offset of a line, updtytpe may be one of: + * Keep information for finding byte offset of a line, updtype may be one of: * ML_CHNK_ADDLINE: Add len to parent chunk, possibly splitting it * Careful: ML_CHNK_ADDLINE may cause ml_find_line() to be called. * ML_CHNK_DELLINE: Subtract len from parent chunk, possibly deleting it -- cgit v1.2.3