Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
pyro ArgumentOutOfRangeException in PatchAPIMarshaller.CreateArrayOfStringA #4036
If a patch is to be generated which could be applied on two versions in conjunction with the option -delta an ArgumentOutOfRangeException is thrown in the method "CreateArrayOfStringA" - but only if this involves two files with different "patch situations".
For example file "A" different in version of 1.0.0 (==RTM), 1.0.1 (==Patch1) and 1.0.2 (target version) and a file "B" only different in 1.0.0 and 1.0.1 but identical to 1.0.1 in the target version 1.0.2.
My impression is that perhaps the PatchAPIMarshaller might be reusing an obselete value in its member "oldFileCount" and that maybe just the check in line 700
this.oldFileCount != managed.Length
is superfluous - especially as the next line of code is:
this.oldFileCount = managed.Length;
I have created a small example for reproduction (see attachment).