From 9002e60adf4201c08ecb5ce849b7d3eda89060c8 Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Sun, 9 Aug 2009 15:57:13 +0000 Subject: [PATCH] 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. --- tty-term.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tty-term.c b/tty-term.c index 45e7e7f8..6172941c 100644 --- a/tty-term.c +++ b/tty-term.c @@ -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 @@ -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;