Mercurial > hg > graal-compiler
changeset 14977:cd9404a8216b
fix NPE in HexCodeFile
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 04 Apr 2014 18:23:55 +0200 |
parents | 82399ac30721 |
children | e302df8bf51c |
files | graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java |
diffstat | 1 files changed, 20 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java Fri Apr 04 17:06:44 2014 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java Fri Apr 04 18:23:55 2014 +0200 @@ -39,23 +39,23 @@ * * <pre> * HexCodeFile ::= Platform Delim HexCode Delim (OptionalSection Delim)* - * + * * OptionalSection ::= Comment | OperandComment | JumpTable | LookupTable - * + * * Platform ::= "Platform" ISA WordWidth - * + * * HexCode ::= "HexCode" StartAddress HexDigits - * + * * Comment ::= "Comment" Position String - * + * * OperandComment ::= "OperandComment" Position String - * + * * JumpTable ::= "JumpTable" Position EntrySize Low High - * + * * LookupTable ::= "LookupTable" Position NPairs KeySize OffsetSize - * + * * Position, EntrySize, Low, High, NPairs KeySize OffsetSize ::= int - * + * * Delim := "<||@" * </pre> * @@ -184,15 +184,19 @@ * Formats a byte array as a string of hex digits. */ public static String hexCodeString(byte[] code) { - StringBuilder sb = new StringBuilder(code.length * 2); - for (int b : code) { - String hex = Integer.toHexString(b & 0xff); - if (hex.length() == 1) { - sb.append('0'); + if (code == null) { + return ""; + } else { + StringBuilder sb = new StringBuilder(code.length * 2); + for (int b : code) { + String hex = Integer.toHexString(b & 0xff); + if (hex.length() == 1) { + sb.append('0'); + } + sb.append(hex); } - sb.append(hex); + return sb.toString(); } - return sb.toString(); } /**