Menu

#3324 pyro ArgumentOutOfRangeException in PatchAPIMarshaller.CreateArrayOfStringA

v3.8
migrated
nobody
None
2013-08-21
2013-06-19
No

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).

1 Attachments

Discussion

  • Blair

    Blair - 2013-07-14

    This code is my code. I'm looking at this repro now

     
  • Rob Mensching

    Rob Mensching - 2013-08-21
    • Status: open --> migrated