Fix debug output.

If we have fewer bytes left in the buffer than
the output alignment, we would read out of bounds
and output (partially) incorrect data.

Test: debug output is correct
(cherry picked from commit 0d9dda2b69c47707e9fdf39d68b04b8edf5623ef)
Bug: 129785390
Change-Id: I66913c58295ccd8e1955a73a17f6eed45ca6cd1e
diff --git a/libs/binder/Debug.cpp b/libs/binder/Debug.cpp
index f38bbb2..a1c2a8b 100644
--- a/libs/binder/Debug.cpp
+++ b/libs/binder/Debug.cpp
@@ -221,7 +221,11 @@
 
         for (word = 0; word < bytesPerLine; ) {
 
-            const size_t startIndex = word+(alignment-(alignment?1:0));
+            size_t align_offset = alignment-(alignment?1:0);
+            if (remain > 0 && (size_t)remain <= align_offset) {
+                align_offset = remain - 1;
+            }
+            const size_t startIndex = word+align_offset;
 
             for (index = 0; index < alignment || (alignment == 0 && index < bytesPerLine); index++) {