In character.c within R 2.6.1, the function do_gsub contains the following 
code:

1199        if (STRING_ELT(pat, 0) == NA_STRING) {
1200            PROTECT(ans = allocVector(STRSXP, n));
1201            for(i = 0; i < n; i++)  SET_STRING_ELT(ans, i, NA_STRING);
1202            UNPROTECT(1);
1203            return ans;
1204        }
1205
1206        if (length(pat) < 1 || length(rep) < 1) error(R_MSG_IA);

Line 1206 checks that pat contains at least one element.  However, line 1199 
has already attempted to access the first element.  The check should surely 
come first.

Andrew Runnalls

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to