From 2d91cee4c2f2e887374a23264f7db7925bba1b61 Mon Sep 17 00:00:00 2001 From: deraadt <> Date: Mon, 9 Jun 2008 18:26:35 +0000 Subject: [PATCH] do not leak memory on failure in refid production; ok ckuethe henning --- src/usr.sbin/ntpd/parse.y | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/usr.sbin/ntpd/parse.y b/src/usr.sbin/ntpd/parse.y index 252ee7e8..d61d6eee 100644 --- a/src/usr.sbin/ntpd/parse.y +++ b/src/usr.sbin/ntpd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.43 2008/06/09 16:37:35 ckuethe Exp $ */ +/* $OpenBSD: parse.y,v 1.44 2008/06/09 18:26:35 deraadt Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer @@ -261,11 +261,11 @@ correction : CORRECTION NUMBER { ; refid : REFID STRING { - size_t l; - l = strlen($2); + size_t l = strlen($2); + if (l < 1 || l > 4) { - yyerror("refid must be a string of 1 to 4 " - "characters"); + yyerror("refid must be 1 to 4 characters"); + free($2); YYERROR; } opts.refstr = $2;