1
0
forked from aniani/vim

patch 8.1.1219: not checking for NULL return from alloc()

Problem:    Not checking for NULL return from alloc().
Solution:   Add checks. (Martin Kunev, closes #4303, closes #4174)
This commit is contained in:
Bram Moolenaar
2019-04-27 22:06:37 +02:00
parent 00aa069db8
commit 6ee9658774
14 changed files with 83 additions and 37 deletions

View File

@@ -1576,12 +1576,15 @@ selection_get_cb(GtkWidget *widget UNUSED,
if (string != NULL)
{
tmpbuf = alloc(length + 2);
tmpbuf[0] = 0xff;
tmpbuf[1] = 0xfe;
mch_memmove(tmpbuf + 2, string, (size_t)length);
vim_free(string);
string = tmpbuf;
length += 2;
if (tmpbuf != NULL)
{
tmpbuf[0] = 0xff;
tmpbuf[1] = 0xfe;
mch_memmove(tmpbuf + 2, string, (size_t)length);
vim_free(string);
string = tmpbuf;
length += 2;
}
#if !GTK_CHECK_VERSION(3,0,0)
/* Looks redundant even for GTK2 because these values are
@@ -1606,10 +1609,10 @@ selection_get_cb(GtkWidget *widget UNUSED,
tmpbuf[0] = motion_type;
STRCPY(tmpbuf + 1, p_enc);
mch_memmove(tmpbuf + l + 2, string, (size_t)length);
length += l + 2;
vim_free(string);
string = tmpbuf;
}
length += l + 2;
vim_free(string);
string = tmpbuf;
type = vimenc_atom;
}