0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 9.0.1638: crypt tests hang and cause memory errors

Problem:    crypt tests hang and cause memory errors
Solution:   Move variable to start of function.
This commit is contained in:
Bram Moolenaar
2023-06-17 15:00:27 +01:00
parent 54f50cbf6a
commit 438d0c5e58
2 changed files with 8 additions and 6 deletions

View File

@@ -218,6 +218,7 @@ readfile(
int using_b_ffname; int using_b_ffname;
int using_b_fname; int using_b_fname;
static char *msg_is_a_directory = N_("is a directory"); static char *msg_is_a_directory = N_("is a directory");
int eof = FALSE;
#ifdef FEAT_SODIUM #ifdef FEAT_SODIUM
int may_need_lseek = FALSE; int may_need_lseek = FALSE;
#endif #endif
@@ -1222,7 +1223,6 @@ retry:
size -= conv_restlen; size -= conv_restlen;
} }
int eof = FALSE;
if (read_buffer) if (read_buffer)
{ {
/* /*
@@ -1306,8 +1306,8 @@ retry:
{ {
// set size to 8K + Sodium Crypt Metadata // set size to 8K + Sodium Crypt Metadata
size = WRITEBUFSIZE + crypt_get_max_header_len() size = WRITEBUFSIZE + crypt_get_max_header_len()
+ crypto_secretstream_xchacha20poly1305_HEADERBYTES + crypto_secretstream_xchacha20poly1305_HEADERBYTES
+ crypto_secretstream_xchacha20poly1305_ABYTES; + crypto_secretstream_xchacha20poly1305_ABYTES;
may_need_lseek = TRUE; may_need_lseek = TRUE;
} }
@@ -1328,11 +1328,11 @@ retry:
} }
} }
# endif # endif
eof = size; long read_size = size;
size = read_eintr(fd, ptr, size); size = read_eintr(fd, ptr, read_size);
filesize_count += size; filesize_count += size;
// hit end of file // hit end of file
eof = (size < eof || filesize_count == filesize_disk); eof = (size < read_size || filesize_count == filesize_disk);
} }
#ifdef FEAT_CRYPT #ifdef FEAT_CRYPT

View File

@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1638,
/**/ /**/
1637, 1637,
/**/ /**/