Mercurial > vim
comparison src/fileio.c @ 10221:fb1fde4fcff7 v8.0.0010
commit https://github.com/vim/vim/commit/680e015bfe19be6772d3bd754486fbd45c1a9d3b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 25 20:54:11 2016 +0200
patch 8.0.0010
Problem: Crash when editing file that starts with crypt yeader. (igor2x)
Solution: Check for length of text. (Christian Brabandt) Add a test.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 25 Sep 2016 21:00:04 +0200 |
parents | 1de911ef1edf |
children | 01a5f64a7a20 |
comparison
equal
deleted
inserted
replaced
10220:168cad9ba374 | 10221:fb1fde4fcff7 |
---|---|
3009 method, cryptkey, ptr); | 3009 method, cryptkey, ptr); |
3010 crypt_set_cm_option(curbuf, method); | 3010 crypt_set_cm_option(curbuf, method); |
3011 | 3011 |
3012 /* Remove cryptmethod specific header from the text. */ | 3012 /* Remove cryptmethod specific header from the text. */ |
3013 header_len = crypt_get_header_len(method); | 3013 header_len = crypt_get_header_len(method); |
3014 if (*sizep <= header_len) | |
3015 /* invalid header, buffer can't be encrypted */ | |
3016 return NULL; | |
3014 *filesizep += header_len; | 3017 *filesizep += header_len; |
3015 *sizep -= header_len; | 3018 *sizep -= header_len; |
3016 mch_memmove(ptr, ptr + header_len, (size_t)*sizep); | 3019 mch_memmove(ptr, ptr + header_len, (size_t)*sizep); |
3017 | 3020 |
3018 /* Restore the read-only flag. */ | 3021 /* Restore the read-only flag. */ |