Skip to content

Commit

Permalink
Fix integer overflow when counting the number of overlaps in a single…
Browse files Browse the repository at this point in the history
… file. CHANGES FILE FORMAT of .oc files. Issue #959.
  • Loading branch information
brianwalenz committed Jun 21, 2018
1 parent f2e2efc commit 6b0d22a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/stores/ovStoreFile.H
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ public:

FILE *F = AS_UTL_openOutputFile(_name);

AS_UTL_safeWrite(F, &_nOlaps, "ovStoreHistogram::nr", sizeof(uint32), 1);
AS_UTL_safeWrite(F, &_nOlaps, "ovStoreHistogram::nr", sizeof(uint64), 1);
AS_UTL_safeWrite(F, &_oprMax, "ovStoreHistogram::nr", sizeof(uint32), 1);
AS_UTL_safeWrite(F, _opr, "ovStoreHistogram::opr", sizeof(uint32), _oprMax);

Expand All @@ -128,7 +128,7 @@ public:
_opr[overlap->b_iid]++;
};

uint32 numOverlaps(void) { return(_nOlaps); };
uint64 numOverlaps(void) { return(_nOlaps); };

private:
uint64 _nOlaps; // Total number of overlaps stored in this file.
Expand Down Expand Up @@ -176,7 +176,7 @@ public:

FILE *F = AS_UTL_openInputFile(name);

AS_UTL_safeRead(F, &_nOlaps, "ovStoreHistogram::nr", sizeof(uint32), 1);
AS_UTL_safeRead(F, &_nOlaps, "ovStoreHistogram::nr", sizeof(uint64), 1);
AS_UTL_safeRead(F, &_oprMax, "ovStoreHistogram::nr", sizeof(uint32), 1);
AS_UTL_safeRead(F, _opr, "ovStoreHistogram::opr", sizeof(uint32), _oprMax);

Expand All @@ -187,7 +187,7 @@ public:
delete [] _opr;
};

uint32 numOverlaps(void) { return(_nOlaps); };
uint64 numOverlaps(void) { return(_nOlaps); };
uint32 numOverlaps(uint32 readID) { return(_opr[readID]); };

private:
Expand Down

0 comments on commit 6b0d22a

Please sign in to comment.