From 0322eeab8fd33655851bf5d5f1ab5cd0b05d7c8d Mon Sep 17 00:00:00 2001 From: James McLeod Date: Wed, 22 Jul 2020 07:27:38 -0400 Subject: [PATCH] Mask Short values when converting to int to prevent sign extension --- pst/src/main/java/io/github/jmcleodfoss/pst/BBTEntry.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pst/src/main/java/io/github/jmcleodfoss/pst/BBTEntry.java b/pst/src/main/java/io/github/jmcleodfoss/pst/BBTEntry.java index a829768e..d2a78175 100644 --- a/pst/src/main/java/io/github/jmcleodfoss/pst/BBTEntry.java +++ b/pst/src/main/java/io/github/jmcleodfoss/pst/BBTEntry.java @@ -60,8 +60,8 @@ class BBTEntry implements BTreeLeaf DataContainer dc = new DataContainer(); dc.read(entryStream, context.unicode() ? unicode_fields : ansi_fields, common_fields); bref = (BREF)dc.get(nm_bref); - numBytes = (Short)dc.get(nm_cb); - refCount = (Short)dc.get(nm_cRef); + numBytes = 0xffff & (Short)dc.get(nm_cb); + refCount = 0xffff & (Short)dc.get(nm_cRef); } /** Obtain the actual size of a block B-tree leaf node as read in from the input datastream.