Skip to content

Commit 5ad0bcd

Browse files
author
kalibera
committed
Check for too large C objects. Also avoids GCC warnings (currently triggered
with LTO). git-svn-id: https://svn.r-project.org/R/trunk@87305 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent afe8539 commit 5ad0bcd

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/main/memory.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3570,11 +3570,15 @@ void R_chk_free(void *ptr)
35703570

35713571
void *R_chk_memcpy(void *dest, const void *src, size_t n)
35723572
{
3573+
if (n >= PTRDIFF_MAX)
3574+
error(_("object is too large (%llu bytes)"), (unsigned long long)n);
35733575
return n ? memcpy(dest, src, n) : dest;
35743576
}
35753577

35763578
void *R_chk_memset(void *s, int c, size_t n)
35773579
{
3580+
if (n >= PTRDIFF_MAX)
3581+
error(_("object is too large (%llu bytes)"), (unsigned long long)n);
35783582
return n ? memset(s, c, n) : s;
35793583
}
35803584

0 commit comments

Comments
 (0)