From patchwork Thu Dec 4 13:25:11 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Neira Ayuso X-Patchwork-Id: 417775 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 68A451400D2 for ; Fri, 5 Dec 2014 00:23:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754036AbaLDNXE (ORCPT ); Thu, 4 Dec 2014 08:23:04 -0500 Received: from mail.us.es ([193.147.175.20]:33203 "EHLO mail.us.es" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750907AbaLDNXD (ORCPT ); Thu, 4 Dec 2014 08:23:03 -0500 Received: (qmail 6186 invoked from network); 4 Dec 2014 14:22:58 +0100 Received: from unknown (HELO us.es) (192.168.2.14) by us.es with SMTP; 4 Dec 2014 14:22:58 +0100 Received: (qmail 22765 invoked by uid 507); 4 Dec 2014 13:22:58 -0000 X-Qmail-Scanner-Diagnostics: from 127.0.0.1 by antivirus4 (envelope-from , uid 501) with qmail-scanner-2.10 (clamdscan: 0.98.5/19724. spamassassin: 3.3.2. Clear:RC:1(127.0.0.1):SA:0(-103.2/7.5):. Processed in 2.200672 secs); 04 Dec 2014 13:22:58 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on antivirus4 X-Spam-Level: X-Spam-Status: No, score=-103.2 required=7.5 tests=BAYES_50,SMTPAUTH_US, USER_IN_WHITELIST autolearn=disabled version=3.3.2 X-Spam-ASN: AS12715 87.216.0.0/16 X-Envelope-From: pablo@netfilter.org Received: from unknown (HELO antivirus4) (127.0.0.1) by us.es with SMTP; 4 Dec 2014 13:22:56 -0000 Received: from 192.168.1.13 (192.168.1.13) by antivirus4 (F-Secure/fsigk_smtp/412/antivirus4); Thu, 04 Dec 2014 14:22:56 +0100 (CET) X-Virus-Status: clean(F-Secure/fsigk_smtp/412/antivirus4) Received: (qmail 29667 invoked from network); 4 Dec 2014 14:22:56 +0100 Received: from 77.166.216.87.static.jazztel.es (HELO salvia.here) (pneira@us.es@87.216.166.77) by mail.us.es with SMTP; 4 Dec 2014 14:22:56 +0100 From: Pablo Neira Ayuso To: netfilter-devel@vger.kernel.org Cc: kaber@trash.net, christophe.leroy@c-s.fr Subject: [PATCH nft] payload: fix endianess issue in payload_expr_pctx_update() Date: Thu, 4 Dec 2014 14:25:11 +0100 Message-Id: <1417699511-10777-1-git-send-email-pablo@netfilter.org> X-Mailer: git-send-email 1.7.10.4 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Use constant_data_ptr() to point to the right memory position on big endian when exporting data that is stored in a larger variable. Signed-off-by: Pablo Neira Ayuso --- src/payload.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/payload.c b/src/payload.c index ebf8079..83742fb 100644 --- a/src/payload.c +++ b/src/payload.c @@ -79,8 +79,8 @@ static void payload_expr_pctx_update(struct proto_ctx *ctx, /* Export the data in the correct byte order */ assert(right->len / BITS_PER_BYTE <= sizeof(proto)); - mpz_export_data(&proto, right->value, right->byteorder, - right->len / BITS_PER_BYTE); + mpz_export_data(constant_data_ptr(proto, right->len), right->value, + right->byteorder, right->len / BITS_PER_BYTE); base = ctx->protocol[left->payload.base].desc; desc = proto_find_upper(base, proto);