From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAoRo-0007SR-3l for qemu-devel@nongnu.org; Thu, 22 Mar 2012 16:17:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAoRl-0000eK-HS for qemu-devel@nongnu.org; Thu, 22 Mar 2012 16:17:23 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:47395) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAoRl-0000cL-BH for qemu-devel@nongnu.org; Thu, 22 Mar 2012 16:17:21 -0400 Received: by mail-pb0-f45.google.com with SMTP id uo5so2214825pbc.4 for ; Thu, 22 Mar 2012 13:17:20 -0700 (PDT) Message-ID: <4F6B88CC.5070905@codemonkey.ws> Date: Thu, 22 Mar 2012 15:17:16 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1332417072-20329-1-git-send-email-pbonzini@redhat.com> <1332417072-20329-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1332417072-20329-3-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 02/10] qapi: fail hard on stack imbalance List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: anthony@codemonkey.vs, lcapitulino@redhat.com, eblake@redhat.com, qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com On 03/22/2012 06:51 AM, Paolo Bonzini wrote: > QmpOutputVisitor will segfault if an imbalanced end function is > called. So we can abort in QmpInputVisitor too. > > Signed-off-by: Paolo Bonzini Reviewed-by: Anthony Liguori Regards, Anthony Liguori > --- > qapi/qmp-input-visitor.c | 5 +---- > 1 files changed, 1 insertions(+), 4 deletions(-) > > diff --git a/qapi/qmp-input-visitor.c b/qapi/qmp-input-visitor.c > index e6b6152..b4013cc 100644 > --- a/qapi/qmp-input-visitor.c > +++ b/qapi/qmp-input-visitor.c > @@ -77,11 +77,8 @@ static void qmp_input_push(QmpInputVisitor *qiv, const QObject *obj, Error **err > > static void qmp_input_pop(QmpInputVisitor *qiv, Error **errp) > { > + assert(qiv->nb_stack> 0); > qiv->nb_stack--; > - if (qiv->nb_stack< 0) { > - error_set(errp, QERR_BUFFER_OVERRUN); > - return; > - } > } > > static void qmp_input_start_struct(Visitor *v, void **obj, const char *kind,