Thanks -- fixed in 63290 (trunk) and 63291 (patched).

luke

On Fri, 12 Jul 2013, Hervé Pagès wrote:

at lines 651 & 653 (integer_binary function):

   if (code == DIVOP || code == POWOP)
       ans = allocVector(REALSXP, n);
   else
       ans = allocVector(INTSXP, n);

There are calls to warningcall() later in the function, which can
trigger garbbage collection.

Looks like the typical scenario where it seemed pretty safe to not
PROTECT in the original version of the function but became very
unsafe 3 years later when the calls to warningcall() were added to
the function.

Cheers,
H.



--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
   Actuarial Science
241 Schaeffer Hall                  email:   luke-tier...@uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to