From ebe40a4ec213f98f25c04877cf2d50a32681248c Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 1 Aug 2018 16:00:58 +0000 Subject: Fix an off-by-one string read access that could happen if an empty string argument preceded a string argument beginning with "--". Found by Leah Neukirchen with -Wpointer-compare. --- mdoc_validate.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'mdoc_validate.c') diff --git a/mdoc_validate.c b/mdoc_validate.c index f4381800..b36d3c0a 100644 --- a/mdoc_validate.c +++ b/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.359 2018/08/01 13:46:15 schwarze Exp $ */ +/* $Id: mdoc_validate.c,v 1.360 2018/08/01 16:00:58 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2018 Ingo Schwarze @@ -437,14 +437,13 @@ check_text_em(struct roff_man *mdoc, int ln, int pos, char *p) isalpha((unsigned char)cp[-3]) : np != NULL && np->type == ROFFT_TEXT && - np->string != '\0' && + *np->string != '\0' && isalpha((unsigned char)np->string[ strlen(np->string) - 1])) || (cp[1] != '\0' && cp[2] != '\0' ? isalpha((unsigned char)cp[2]) : nn != NULL && nn->type == ROFFT_TEXT && - nn->string != '\0' && isalpha((unsigned char)*nn->string))) { mandoc_msg(MANDOCERR_DASHDASH, mdoc->parse, ln, pos + (int)(cp - p) - 1, NULL); -- cgit v1.2.3-56-ge451