From ripley at stats.ox.ac.uk  Wed Apr 18 17:34:48 2007
From: ripley at stats.ox.ac.uk (ripley at stats.ox.ac.uk)
Date: Wed, 18 Apr 2007 17:34:48 +0200 (CEST)
Subject: [Rd] format() applied to an NA character string (PR#9616)
Message-ID: <20070418153448.778B862609@slim.kubism.ku.dk>

On Wed, 18 Apr 2007, Peter Dalgaard wrote:

> D.Wischik at cs.ucl.ac.uk wrote:
>> I get strange results when I try to format() an NA character string.
>>
>>
>>> x <- 'sometext'
>>> x[1] <- NA
>>> format(NA, width=32) # displays sensibly, right-justified
>>> format(x,width=32)   # displays sensibly, left-justified
>>> format(x,width=33)   # displays ""
>>> format(x,width=36)   # R exits abnormally with code 5
>>>
>>
>>
> This happens on Linux too, given slightly larger widths:

It happened for me on Linux in R 2.4.1 at width=32, but those examples are 
fine on both Linux and Windows in pre-2.5.0.

It was (of course) a buffer overflow, fixed now for 2.5.0.
Valgrind got to the correct spot (in paste.c).

>
> R version 2.5.0 RC (2007-04-17 r41210)
> ....
>> x <- as.character(NA)
>> format(x,width=64)
>
> Program received signal SIGSEGV, Segmentation fault.
> Rstrlen (s=0x20000009, quote=0) at ../../../R/src/main/printutils.c:374
> 374         return Rstrwid(CHAR(s), LENGTH(s), quote);
>
>
>
>>> version
>>>
>> platform       i386-pc-mingw32
>> arch           i386
>> os             mingw32
>> system         i386, mingw32
>> status
>> major          2
>> minor          4.1
>> year           2006
>> month          12
>> day            18
>> svn rev        40228
>> language       R
>> version.string R version 2.4.1 (2006-12-18)
>>
>> I'm running Windows XP.
>>
>> Damon.
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
>
>

-- 
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



[Rd] format() applied to an NA character string (PR#9616)
ripley at stats.ox.ac.uk