History log of /dalvik/libdex/DexSwapVerify.cpp
Revision Date Author Comments
03a41e081d63f1dec236a0b0521d8c2300a622e0 10-Apr-2017 Orion Hodson <oth@google.com> Fix missing receiver type information in invoke-custom

Bug: 36957105
Test: manual using the dex file generated by dx/tests/135-invoke-custom
Change-Id: I28db8c013a63cebce8a6202dc3241bb494153b80
fa5e510d770070f8e7f47d126f5be138aa55cb84 14-Feb-2017 Orion Hodson <oth@google.com> Add support invoke-custom to dexdump

o Update bytecode.txt with codepoints for invoke-custom
instructions and run opcode-gen/regen-all.

o Update dexdump to support invoke-custom with output equivalent to
dexdump2.

Bug: 30550796,33191717,33231751
Test: manually tested with DEX files generated from ART run-tests.
Change-Id: If2cedea21875e93525c4850005d335901897484a
e93baa3eb6d1665a7e18ac49354766c68b268d7d 20-Jan-2017 Aart Bik <ajcbik@google.com> Reject any length mismatch, not trying to be nice and proceed.

Rationale:
Comparing expected length with actual length should reject
both too long and too short, as both directions are vulnerable
(before we were trying too hard to be nice).

Bug: 34469397
Test: dexdump
Change-Id: Ie221071d557905c51963fd667f451d612a42db96
03a551d00833eafe1474e7675173c51efa845730 11-Apr-2016 Aart Bik <ajcbik@google.com> Bug fix for segfault on reading bytecode with dexdump.

Rationale:
An incorrect type (signed vs. unsigned) compare did not guard
subsequent access of memory correctly.

BUG=28038148

Change-Id: I7aa97ad252614e3d045297cce314b5a4b96a60b2
796fe5399a161f870d94dd7fadf3c6100b1d1640 24-Mar-2016 Alex Light <allight@google.com> Add support for dex version 37 in libdex.

Bug: 27538761
Bug: 27809626

(cherry picked from commit 5c391cc69978326b08f303e37951b6924038520c)

Change-Id: I79b2bdfc8194dc210bc1299b0544f82b2af735b0
5c391cc69978326b08f303e37951b6924038520c 24-Mar-2016 Alex Light <allight@google.com> Add support for dex version 37 in libdex.

Bug: 27538761
Bug: 27809626
Change-Id: I79b2bdfc8194dc210bc1299b0544f82b2af735b0
1a65052468068a4e9a859d185860510aa1d8cfd4 08-Jul-2015 Aart Bik <ajcbik@google.com> Revert "Remove libdex (including dexdump/list)."

This reverts commit 48a66c5d261c333fc3d672e910b26cd6b1a05083.


REASON:
win_sdk is not happy with my migration :-(

Change-Id: Ib5d25b65ffef8bebc42fc586d2c65add04aa2b54
48a66c5d261c333fc3d672e910b26cd6b1a05083 08-Jul-2015 Aart Bik <ajcbik@google.com> Remove libdex (including dexdump/list).

Rationale:
Utilities dexdump and dexlist are now provided by Art.
This CL removes the utilities and supporting libdex.

Bug: 22322814
Change-Id: I032d6e4021a2c75b530e6116bca03c6a8dead2c3
3c0dc499ffae411c9204595c00caa44b033bf402 06-Jun-2015 Aart Bik <ajcbik@google.com> Fix for data type mismatch which confuses safemul.

The 64-bit version of dexdump failed with a
"Byte swap + verify failed" error, caused by
the use of data types u4 vs. size_t in a safemul.
On 32-bit this works, but the larger size of size_t
on 64-bit causes a mismatch error.

Bug has now been fixed. Both 32-bit and 64-bit binary
generate the same dexdump output.

This CL also reverses the workaround for the bug
(SHA dc43b33cb50252bde27c11e54f8f977d32660028)
that simply restricted the build to 32-bit only.

Bug: 17442393

Change-Id: Ib51b5d1ecba173f2c2fa2cf884bffa893ce60a53
50e2a5861bf6310427bb043956fa7b545da3b044 15-Nov-2014 Elliott Hughes <enh@google.com> Clean up some dead dalvik cruft.

I don't know whether dmtracedump is still useful, so I'm assuming we should
keep it building. But at least now it's more obvious that it's the only user
of Profile.h.

Change-Id: Ieabce07cb278a19af72b566b08193db17d95e66d
4b44ea2e3a8f5d5f30926095b0e5d803d406fbef 03-Aug-2013 Elliott Hughes <enh@google.com> Ignore invalid access flags.

Bug: 10134551
Change-Id: I9df8f7a2541e0c9bd2f9294a202fef2afce815f8
c2e9a5b2b70d69c027964c9a4d07a4bdf723dd36 08-May-2013 Ben Gruver <bgruv@google.com> Move verification of class access flags to libdex

Change-Id: I020a168cfff46e319b0bebb6c7477f0b4139c6de
dc7f63d94a9abf924a4d95cf6ba393ed43158f16 04-May-2013 Brian Carlstrom <bdc@google.com> Fix bad whitespace alignment from LOGW to ALOGW change

Change-Id: I8eba74b92976f433aff42e6c4461e3127e519d77
b210a9f9c7ae17e2028a86d9a4e9a3b35472862a 15-Jul-2012 SangWook Han <sangwook.han@gmail.com> Use uintptr_t for cast pointer to integer.

On 64bit host, sizeof pointer is not equal to sizeof int/u4.
Need for host tools.

Change-Id: Id8d9418787e79523226b9c9e3f67277f9ac7c6aa
c1a4ab9c313d8a3d12007f2dbef7b5a6fa4ac2ef 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Also fix an occurrence of LOGW missed in an earlier change.

Bug: 5449033
Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
e8e1ddccd616e8226b7cc1e4e9fdb327429249e8 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
92c1f6f1b4249e4e379452ee7b49f027052bf4ce 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
6f3c21fb026d9489e5046416bcd5a84fa8e4615b 26-May-2011 Dan Bornstein <danfuzz@android.com> More LOG newline cleanup.

This changes all the places I could find where the log string was on the
line after its LOG call.

Change-Id: Iac6a9fcc64f46631fb093824ab60237dce1a5241
291c84f60853d30e1c0d79dd08c5e5164f588e26 26-May-2011 Dan Bornstein <danfuzz@android.com> Prefer printf format "%#x" over "0x%x".

I exist to serve.

Change-Id: I8e2880b20eefd466da8515d5b6b0c5cb75d56169
614dca3bb487f17ef8ea37a82a22dd6c4abc027e 26-May-2011 Dan Bornstein <danfuzz@android.com> Conservation of newlines in libdex.

The log facility adds newlines automatically, and the prevailing
convention is now to omit them.

Change-Id: I14762ea4a7c24eea333f778724a0e4b6b65bae2b
9fdbd91288a237eb58e18e4de9c729c3c268c318 25-May-2011 Dan Bornstein <danfuzz@android.com> Update dex file magic number.

Even though the dex format was technically resilient with respect to
the addition of new opcodes, consensus is that the errors one sees
when trying to use a new dex file on an old build were sufficiently
inscrutable that it was worth the effort to update the version number
embedded in the dex format magic.

This change updates dx to produce the new version number when extended
opcodes are enabled (which is the default, but may be overridden by
targeting an older API level).

This also updates the vm to recognize and accept both the new current
version number as well as the immediately previous one. Note: It won't
reject an old-version file if it happens to use the new opcodes; that
would just be a gratuitous and pointless failure.

Bug: 4364986
Change-Id: If8febbb0b91c1719df4247bf69c511251362d91f
bfc9799b1a53fd6f6136d07e6278d4538cf70f13 27-Apr-2011 Carl Shapiro <cshapiro@google.com> Make libdex structures tool friendly.

Previously, the struct name and its typedef name were identical. This
confuses emacs and etags. This change eliminates the typedef names and
removes the extern "C" wrapping the libdex header files. To support
this change the transitive C dependencies have been made to compile as
C++ instead.

Change-Id: I7065f32d61d776f9b09c7b461adf2502268d852f
a70a3d8faa8f7332549fa0c9ae2008d428e28606 14-Apr-2011 Dan Bornstein <danfuzz@android.com> Compile libdex as C++.

The major-looking code changes were all just to unravel some gotos.

Change-Id: I86f98a48b160f357ce93c87446bad5d705d5f05b