Skip to content

Commit f69eb5e

Browse files
committed
Fixed bug when node offsets are incorrectly calculated. #74
1 parent e49f7bf commit f69eb5e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Asn1Editor/API/ViewModel/TagDataEditorVM.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,12 @@ void saveEditChanges() {
129129
updateBinaryCopy(binValue);
130130
Node.UnusedBits = UnusedBits;
131131
var asn = new Asn1Reader(binValue);
132+
Int32 oldHeaderLength = Node.HeaderLength;
132133
Node.PayloadStartOffset = Node.Offset + asn.TagLength - asn.PayloadLength;
133134
Node.ExplicitValue = AsnDecoder.GetViewValue(asn);
134-
Node.OffsetChange = asn.PayloadLength - Node.PayloadLength;
135+
Int32 offsetChange = Node.HeaderLength - oldHeaderLength
136+
+ asn.PayloadLength - Node.PayloadLength;
137+
Node.OffsetChange = offsetChange;
135138
Node.PayloadLength = asn.PayloadLength;
136139
_data.FinishBinaryUpdate();
137140
DialogResult = true;

0 commit comments

Comments
 (0)