From patchwork Fri Apr 18 14:50:15 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Musta X-Patchwork-Id: 340361 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 983951400FE for ; Sat, 19 Apr 2014 01:49:15 +1000 (EST) Received: from localhost ([::1]:38303 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WbAF1-0008B0-4H for incoming@patchwork.ozlabs.org; Fri, 18 Apr 2014 10:58:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WbA8K-0005g4-Aa for qemu-devel@nongnu.org; Fri, 18 Apr 2014 10:51:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WbA8B-0000Gp-41 for qemu-devel@nongnu.org; Fri, 18 Apr 2014 10:51:16 -0400 Received: from mail-qg0-x236.google.com ([2607:f8b0:400d:c04::236]:49716) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WbA8A-0000Ge-Vy; Fri, 18 Apr 2014 10:51:07 -0400 Received: by mail-qg0-f54.google.com with SMTP id z60so1738499qgd.27 for ; Fri, 18 Apr 2014 07:51:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tSrLZSRUbSgZE6Mvg6ssiuF3fAHQ1QrYnHavOdAPuDk=; b=w7qWj7zCIgeshf0Fsupcw8AaChzlRsFkHfJ4oekrczSyQo+MbMAoUqQ0kzP+eu6FZ+ 0KOLpIKpVFHm6chxDDluXLkMD0lTJJwf7/vVg9RmaDo+XEPJ75IZbIaTwxKiJ8FBA0uN o12sHoZBSiXnwGr4jvrcotusG9+vBD5+xa5TU4b2kTUMDr/j/S/6mk8zqdRuyR1kaSYb 3H0cLypDMcc+mXV/84rszE0lj+U/wckqPht7vOHM7nasfM0JUzM8uKvwlEiAJ2DUSDk4 HvBBYlyalM79kE7qQtm7E/63I4iKPkGeeT+jeAuCZ8t4nKum/wrSd/e9+9E88DhWkilS Srzg== X-Received: by 10.140.17.81 with SMTP id 75mr25190306qgc.35.1397832666520; Fri, 18 Apr 2014 07:51:06 -0700 (PDT) Received: from tmusta-sc.rchland.ibm.com (rchp4.rochester.ibm.com. [129.42.161.36]) by mx.google.com with ESMTPSA id u59sm37020178qga.8.2014.04.18.07.51.05 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 18 Apr 2014 07:51:05 -0700 (PDT) From: Tom Musta To: qemu-devel@nongnu.org Date: Fri, 18 Apr 2014 09:50:15 -0500 Message-Id: <1397832641-10254-12-git-send-email-tommusta@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1397832641-10254-1-git-send-email-tommusta@gmail.com> References: <1397832641-10254-1-git-send-email-tommusta@gmail.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c04::236 Cc: Tom Musta , qemu-ppc@nongnu.org Subject: [Qemu-devel] [PATCH 11/37] libdecnumber: Fix decNumberSetBCD X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Fix a simple bug in the decNumberSetBCD() function. This function encodes a decNumber with "n" BCD digits. The original code erroneously computed the number of declets from the dn argument, which is the output decNumber value, and hence may contain garbage. Instead, the input "n" value is used. Signed-off-by: Tom Musta --- libdecnumber/decNumber.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libdecnumber/decNumber.c b/libdecnumber/decNumber.c index 825fde0..c4269a4 100644 --- a/libdecnumber/decNumber.c +++ b/libdecnumber/decNumber.c @@ -3547,7 +3547,7 @@ uByte * decNumberGetBCD(const decNumber *dn, uint8_t *bcd) { /* and bcd[0] zero. */ /* ------------------------------------------------------------------ */ decNumber * decNumberSetBCD(decNumber *dn, const uByte *bcd, uInt n) { - Unit *up=dn->lsu+D2U(dn->digits)-1; /* -> msu [target pointer] */ + Unit *up = dn->lsu + D2U(n) - 1; /* -> msu [target pointer] */ const uByte *ub=bcd; /* -> source msd */ #if DECDPUN==1 /* trivial simple copy */