diff --git a/src/misc1.c b/src/misc1.c index 632d222b6c..3b8464ec13 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -2337,16 +2337,18 @@ get_cmd_output( fd = mch_fopen((char *)tempname, READBIN); # endif - if (fd == NULL) + // Not being able to seek means we can't read the file. + if (fd == NULL + || fseek(fd, 0L, SEEK_END) == -1 + || (len = ftell(fd)) == -1 // get size of temp file + || fseek(fd, 0L, SEEK_SET) == -1) // back to the start { - semsg(_(e_cant_open_file_str), tempname); + semsg(_(e_cannot_read_from_str), tempname); + if (fd != NULL) + fclose(fd); goto done; } - fseek(fd, 0L, SEEK_END); - len = ftell(fd); // get size of temp file - fseek(fd, 0L, SEEK_SET); - buffer = alloc(len + 1); if (buffer != NULL) i = (int)fread((char *)buffer, (size_t)1, (size_t)len, fd); diff --git a/src/version.c b/src/version.c index c5ac7c5eee..fdc2508a60 100644 --- a/src/version.c +++ b/src/version.c @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4772, /**/ 4771, /**/