# HG changeset patch # User Bram Moolenaar # Date 1589751904 -7200 # Node ID 6a25d5086e1d3c05b5a5a6fca6fbead8f80a3dd8 # Parent d2d2b97ec1333f4926dd735741b87be03983ccf3 patch 8.2.0788: memory leak in libvterm Commit: https://github.com/vim/vim/commit/deb17451edd65e2af1d155bce0886e856a716591 Author: Bram Moolenaar Date: Sun May 17 23:34:42 2020 +0200 patch 8.2.0788: memory leak in libvterm Problem: Memory leak in libvterm. Solution: free tmpbuffer. diff --git a/src/libvterm/src/vterm.c b/src/libvterm/src/vterm.c --- a/src/libvterm/src/vterm.c +++ b/src/libvterm/src/vterm.c @@ -79,6 +79,13 @@ VTerm *vterm_new_with_allocator(int rows vt->tmpbuffer_len = 64; vt->tmpbuffer = vterm_allocator_malloc(vt, vt->tmpbuffer_len); + if (vt->tmpbuffer == NULL) + { + vterm_allocator_free(vt, vt->parser.strbuffer); + vterm_allocator_free(vt, vt); + vterm_allocator_free(vt, vt->outbuffer); + return NULL; + } return vt; } @@ -93,6 +100,7 @@ void vterm_free(VTerm *vt) vterm_allocator_free(vt, vt->parser.strbuffer); vterm_allocator_free(vt, vt->outbuffer); + vterm_allocator_free(vt, vt->tmpbuffer); vterm_allocator_free(vt, vt); } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 788, +/**/ 787, /**/ 786,