| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.349 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.3.349 |
| Problem: When running out of memory during startup trying to open a |
| swapfile will loop forever. |
| Solution: Let findswapname() set dirp to NULL if out of memory. |
| Files: src/memline.c |
| |
| |
| |
| |
| |
| *** 621,626 **** |
| --- 621,628 ---- |
| break; |
| fname = findswapname(buf, &dirp, mfp->mf_fname); |
| /* alloc's fname */ |
| + if (dirp == NULL) /* out of memory */ |
| + break; |
| if (fname == NULL) /* no file name found for this dir */ |
| continue; |
| |
| |
| *** 744,749 **** |
| --- 746,753 ---- |
| * and creating it, another Vim creates the file. In that case the |
| * creation will fail and we will use another directory. */ |
| fname = findswapname(buf, &dirp, NULL); /* allocates fname */ |
| + if (dirp == NULL) |
| + break; /* out of memory */ |
| if (fname == NULL) |
| continue; |
| if (mf_open_file(mfp, fname) == OK) /* consumes fname! */ |
| |
| *** 4114,4119 **** |
| --- 4118,4124 ---- |
| * |
| * Several names are tried to find one that does not exist |
| * Returns the name in allocated memory or NULL. |
| + * When out of memory "dirp" is set to NULL. |
| * |
| * Note: If BASENAMELEN is not correct, you will get error messages for |
| * not being able to open the swap or undo file |
| |
| *** 4157,4163 **** |
| * First allocate some memory to put the directory name in. |
| */ |
| dir_name = alloc((unsigned)STRLEN(*dirp) + 1); |
| ! if (dir_name != NULL) |
| (void)copy_option_part(dirp, dir_name, 31000, ","); |
| |
| /* |
| --- 4162,4170 ---- |
| * First allocate some memory to put the directory name in. |
| */ |
| dir_name = alloc((unsigned)STRLEN(*dirp) + 1); |
| ! if (dir_name == NULL) |
| ! *dirp = NULL; |
| ! else |
| (void)copy_option_part(dirp, dir_name, 31000, ","); |
| |
| /* |
| |
| |
| |
| *** 716,717 **** |
| --- 716,719 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 349, |
| /**/ |
| |
| -- |
| I AM THANKFUL... |
| ...for all the complaining I hear about the government |
| because it means we have freedom of speech. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |