[R-pkg-devel] [CRAN-pretest-archived] CRAN Submission NMRphasing 1.0.6

Ivan Krylov |kry|ov @end|ng |rom d|@root@org
Tue Dec 17 11:15:41 CET 2024


Dear Aixiang,

Welcome to R-package-devel!

В Tue, 17 Dec 2024 09:47:26 +0000
Aixiang Jiang <aijiang using bccrc.ca> пишет:

> I am really confused by the error, which did not happen in the
> previous versions.
> 
> Since I have not changed my code at all, the possible reason is that
> the external function is changed.

That's right, you've found a bug in the MassSpecWavelet package. It's
been introduced more than two years ago:

https://code.bioconductor.org/browse/MassSpecWavelet/commit/ea0f727ffc391fa2643f858844836d8297742433

The code finds out the length of the vector and a pointer to the start
of its data:

>> double *x;

>> R_xlen_t xlength = Rf_length(s_x);

>> x = REAL(s_x);

Later, the code tries to limit the offset into the array...

>> i2 = i2 >= xlength ? xlength : i2;

...and accesses the data at this offset:

>> if (xmax > x[i2] && xmax > x[j-1]) {

Unfortunately, it is an error to access data at i2 equal to xlength.
The correct maximum for i2 must be xlength-1, the last valid element of
x.

Try reporting this to the maintainer at
<https://support.bioconductor.org/> or at
<http://github.com/zeehio/MassSpecWavelet/issues>.

-- 
Best regards,
Ivan



More information about the R-package-devel mailing list