From owner-svn-src-stable-10@freebsd.org Mon Apr 11 14:44:20 2016 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29EE8B0CDA7; Mon, 11 Apr 2016 14:44:20 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE6DF1EB6; Mon, 11 Apr 2016 14:44:19 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3BEiJkS080047; Mon, 11 Apr 2016 14:44:19 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3BEiJbN080046; Mon, 11 Apr 2016 14:44:19 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201604111444.u3BEiJbN080046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 11 Apr 2016 14:44:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r297822 - stable/10/lib/libelf X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2016 14:44:20 -0000 Author: emaste Date: Mon Apr 11 14:44:18 2016 New Revision: 297822 URL: https://svnweb.freebsd.org/changeset/base/297822 Log: MFC r275430: libelf: Fix cross-endian ELF note file / memory conversion The namesz and descsz variables need to be used in native endianness. The sizes are in native order after swapping in the file to memory case, and before swapping in the memory to file case. This change is not identical to r275430 because r273443 was never merged to stable/10, and libelf moved from lib/ to contrib/elftoolchain/. Modified: stable/10/lib/libelf/libelf_convert.m4 Modified: stable/10/lib/libelf/libelf_convert.m4 ============================================================================== --- stable/10/lib/libelf/libelf_convert.m4 Mon Apr 11 14:26:02 2016 (r297821) +++ stable/10/lib/libelf/libelf_convert.m4 Mon Apr 11 14:44:18 2016 (r297822) @@ -796,6 +796,11 @@ libelf_cvt_NOTE_tof(char *dst, size_t ds descsz = en->n_descsz; type = en->n_type; + sz = namesz; + ROUNDUP2(sz, 4); + sz += descsz; + ROUNDUP2(sz, 4); + SWAP_WORD(namesz); SWAP_WORD(descsz); SWAP_WORD(type); @@ -806,11 +811,6 @@ libelf_cvt_NOTE_tof(char *dst, size_t ds src += sizeof(Elf_Note); - ROUNDUP2(namesz, 4); - ROUNDUP2(descsz, 4); - - sz = namesz + descsz; - if (count < sz) sz = count;