From: martijn Date: Sat, 24 Jun 2017 16:30:47 +0000 (+0000) Subject: Fix a check in ADD_SPACE_{GOTO,RET} that potentially allowed for a X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=147065b4b3417d863ab988aa4f5a6ea91e561316;p=openbsd Fix a check in ADD_SPACE_{GOTO,RET} that potentially allowed for a NULL-dereference. OK tom@ --- diff --git a/usr.bin/vi/common/mem.h b/usr.bin/vi/common/mem.h index f7eeedb977a..23b594b4f12 100644 --- a/usr.bin/vi/common/mem.h +++ b/usr.bin/vi/common/mem.h @@ -1,4 +1,4 @@ -/* $OpenBSD: mem.h,v 1.9 2016/05/07 14:03:01 martijn Exp $ */ +/* $OpenBSD: mem.h,v 1.10 2017/06/24 16:30:47 martijn Exp $ */ /*- * Copyright (c) 1993, 1994 @@ -79,7 +79,7 @@ */ #define ADD_SPACE_GOTO(sp, bp, blen, nlen) { \ GS *L__gp = (sp) == NULL ? NULL : (sp)->gp; \ - if (L__gp == NULL || (bp) == L__gp->tmp_bp) { \ + if (L__gp != NULL && (bp) == L__gp->tmp_bp) { \ F_CLR(L__gp, G_TMP_INUSE); \ BINC_GOTO((sp), L__gp->tmp_bp, L__gp->tmp_blen, (nlen));\ (bp) = L__gp->tmp_bp; \ @@ -90,7 +90,7 @@ } #define ADD_SPACE_RET(sp, bp, blen, nlen) { \ GS *L__gp = (sp) == NULL ? NULL : (sp)->gp; \ - if (L__gp == NULL || (bp) == L__gp->tmp_bp) { \ + if (L__gp != NULL && (bp) == L__gp->tmp_bp) { \ F_CLR(L__gp, G_TMP_INUSE); \ BINC_RET((sp), L__gp->tmp_bp, L__gp->tmp_blen, (nlen)); \ (bp) = L__gp->tmp_bp; \