Sync OpenBSD patchset 213:

Don't try to free old string values (and crash) when they are overridden unless
they were actually found in the source terminal description. Reported by jmc.
This commit is contained in:
Tiago Cunha 2009-08-09 15:57:13 +00:00
parent bd2fe4ce9b
commit 9002e60adf

View File

@ -1,4 +1,4 @@
/* $Id: tty-term.c,v 1.26 2009-08-09 15:29:54 tcunha Exp $ */
/* $Id: tty-term.c,v 1.27 2009-08-09 15:57:13 tcunha Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@ -195,7 +195,8 @@ tty_term_override(struct tty_term *term, const char *overrides)
case TTYCODE_NONE:
break;
case TTYCODE_STRING:
xfree(code->value.string);
if (code->type == TTYCODE_STRING)
xfree(code->value.string);
code->value.string = xstrdup(val);
code->type = ent->type;
break;