int Archive::Read(void *Data,size_t Size)
{
#ifdef USE_QOPEN
  size_t QResult;
  if (QOpen.Read(Data,Size,QResult))
    return (int)QResult;
#endif
#ifdef USE_ARCMEM
  size_t AResult;
  if (ArcMem.Read(Data,Size,AResult))
    return (int)AResult;
#endif
  return File::Read(Data,Size);
}
The software writes data past the end, or before the beginning, of the intended buffer.