Skip to content
Back to formatted view

Raw Message

Message-ID: <alpine.LFD.2.00.0901030957120.21928@auk.stats.ox.ac.uk>
Date: 2009-01-03T09:58:49Z
From: Brian Ripley
Subject: (PR#13424) Missing PROTECT in intern_getwd (in util.c)
In-Reply-To: <20090103092508.643B5282EFF6@mail.pubhealth.ku.dk>

On Sat, 3 Jan 2009, milbo at sonic.net wrote:

> Full_Name: Stephen Milborrow
> Version: 2.8.1
> OS: WinXP
> Submission from: (NULL) (198.54.202.150)
>
>
> There is a missing PROTECT in intern_getwd in util.c. The current code is
>
>  rval = allocVector(STRSXP, 1);
>  SET_STRING_ELT(rval, 0, mkCharCE(buf, CE_UTF8));
>
> and should be (because mkCharCE can allocate memory)
>
>  PROTECT(rval = allocVector(STRSXP, 1));
>  SET_STRING_ELT(rval, 0, mkCharCE(buf, CE_UTF8));
>  UNPROTECT(1);
>
> This was seen in R version 2.8.1 mingw32

And it is code specific to that platform (although you did not say so).

Fixed now in R-patched, thank you.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595