Skip to content

Commit 74ee606

Browse files
Use read-only pointers in memcpy
1 parent 7c3800f commit 74ee606

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/dogroups.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -541,11 +541,11 @@ SEXP growVector(SEXP x, const R_len_t newlen)
541541
return newx;
542542
}
543543
switch (TYPEOF(x)) {
544-
case RAWSXP: memcpy(RAW(newx), RAW(x), len*SIZEOF(x)); break;
545-
case LGLSXP: memcpy(LOGICAL(newx), LOGICAL(x), len*SIZEOF(x)); break;
546-
case INTSXP: memcpy(INTEGER(newx), INTEGER(x), len*SIZEOF(x)); break;
547-
case REALSXP: memcpy(REAL(newx), REAL(x), len*SIZEOF(x)); break;
548-
case CPLXSXP: memcpy(COMPLEX(newx), COMPLEX(x), len*SIZEOF(x)); break;
544+
case RAWSXP: memcpy(RAW(newx), RAW_RO(x), len*SIZEOF(x)); break;
545+
case LGLSXP: memcpy(LOGICAL(newx), LOGICAL_RO(x), len*SIZEOF(x)); break;
546+
case INTSXP: memcpy(INTEGER(newx), INTEGER_RO(x), len*SIZEOF(x)); break;
547+
case REALSXP: memcpy(REAL(newx), REAL_RO(x), len*SIZEOF(x)); break;
548+
case CPLXSXP: memcpy(COMPLEX(newx), COMPLEX_RO(x), len*SIZEOF(x)); break;
549549
case STRSXP : {
550550
const SEXP *xd = SEXPPTR_RO(x);
551551
for (int i=0; i<len; ++i)

0 commit comments

Comments
 (0)