annotate src/proto/crypt.pro @ 11303:ef32a5c74515 v8.0.0537

patch 8.0.0537: illegal memory access with :z and large count commit https://github.com/vim/vim/commit/fa0ad0bb0b4255e64ebcf9269d60a942e0ae7ff9 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 2 15:45:17 2017 +0200 patch 8.0.0537: illegal memory access with :z and large count Problem: Illegal memory access with :z and large count. Solution: Check for number overflow, using long instead of int. (Dominique Pelle, closes #1612)
author Christian Brabandt <cb@256bit.org>
date Sun, 02 Apr 2017 16:00:05 +0200
parents 21b0a39d13ed
children 959cf4c63b18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6122
18ac55444b37 updated for version 7.4.399
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 /* crypt.c */
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
2 int crypt_method_nr_from_name(char_u *name);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
3 int crypt_method_nr_from_magic(char *ptr, int len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
4 int crypt_works_inplace(cryptstate_T *state);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
5 int crypt_get_method_nr(buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
6 int crypt_whole_undofile(int method_nr);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
7 int crypt_get_header_len(int method_nr);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
8 void crypt_set_cm_option(buf_T *buf, int method_nr);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
9 int crypt_self_test(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
10 cryptstate_T *crypt_create(int method_nr, char_u *key, char_u *salt, int salt_len, char_u *seed, int seed_len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
11 cryptstate_T *crypt_create_from_header(int method_nr, char_u *key, char_u *header);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
12 cryptstate_T *crypt_create_from_file(FILE *fp, char_u *key);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
13 cryptstate_T *crypt_create_for_writing(int method_nr, char_u *key, char_u **header, int *header_len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
14 void crypt_free_state(cryptstate_T *state);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
15 long crypt_encode_alloc(cryptstate_T *state, char_u *from, size_t len, char_u **newptr);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
16 long crypt_decode_alloc(cryptstate_T *state, char_u *ptr, long len, char_u **newptr);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
17 void crypt_encode(cryptstate_T *state, char_u *from, size_t len, char_u *to);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
18 void crypt_decode(cryptstate_T *state, char_u *from, size_t len, char_u *to);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
19 void crypt_encode_inplace(cryptstate_T *state, char_u *buf, size_t len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
20 void crypt_decode_inplace(cryptstate_T *state, char_u *buf, size_t len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
21 void crypt_free_key(char_u *key);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
22 void crypt_check_method(int method);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
23 void crypt_check_current_method(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
24 char_u *crypt_get_key(int store, int twice);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6353
diff changeset
25 void crypt_append_msg(buf_T *buf);
6122
18ac55444b37 updated for version 7.4.399
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
26 /* vim: set ft=c : */