Skip to content

Commit

Permalink
Merge pull request #41 from trylock/master
Browse files Browse the repository at this point in the history
Fix ArgumentOutOfRangeException in XmpUtils.PackageForJPEG
  • Loading branch information
kwhopper authored Feb 3, 2019
2 parents 9d6aa6c + 27365dc commit ab3d7e0
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
17 changes: 16 additions & 1 deletion XmpCore.Tests/XmpUtilsTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
using Xunit;
using System.Text;
using XmpCore.Impl;
using Xunit;

namespace XmpCore.Tests
{
Expand Down Expand Up @@ -31,5 +33,18 @@ public void ConvertToLong()
Assert.Throws<XmpException>(() => XmpUtils.ConvertToLong(null));
Assert.Throws<XmpException>(() => XmpUtils.ConvertToLong("Foo"));
}

[Fact]
public void PackageEmptyXmpDataToJPEG()
{
IXmpMeta data = new XmpMeta();
StringBuilder standard = new StringBuilder();
StringBuilder extended = new StringBuilder();
StringBuilder digest = new StringBuilder();

XmpUtils.PackageForJPEG(data, standard, extended, digest);

Assert.Equal(0, extended.Length);
}
}
}
4 changes: 3 additions & 1 deletion XmpCore/Impl/XmpUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1477,7 +1477,9 @@ string ByteArrayToHexString(byte[] bytes)
if (extraPadding > 2047)
extraPadding = 2047;
//stdStr.delete(stdStr.toString().indexOf(kPacketTrailer), stdStr.length());
stdStr.Remove(stdStr.ToString().IndexOf(kPacketTrailer), stdStr.Length);
int index = stdStr.ToString().IndexOf(kPacketTrailer);
int length = stdStr.Length - index;
stdStr.Remove(index, length);

stdStr.Append(' ', extraPadding);

Expand Down

0 comments on commit ab3d7e0

Please sign in to comment.