[R-pkg-devel] [CRAN-pretest-archived] CRAN Submission NMRphasing 1.0.6
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Tue Dec 17 15:05:37 CET 2024
Nice spotting!
Just for fun, I just asked chatgpt if there were any other problems in
that code. It spotted 3, but not the one you found. Two of them were
definitely bogus, but this one might not be:
On line 471 kmax is used, but it may not be initialized.
Duncan Murdoch
On 2024-12-17 5:15 a.m., Ivan Krylov via R-package-devel wrote:
> 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>.
>
More information about the R-package-devel
mailing list