Incorrect memcpy Call

Occurs when an application calls the memcpy function with two pointers that overlap within the range to be copied. This condition is only checked on Linux* systems. On Windows* systems, this function is safe for overlapping memory.

Problem type: Incorrect memcpy call

ID

Code Location

Description

1

Call site

Represents the location from which the memcpy function was called.

Example

char *p = (char *)malloc(10);
memcpy(p+3, p, 5);

Note

Linux* operating system/GNU gcc* compiler: The Intel Inspector cannot check for inlined calls to memcpy. Specify -fno-builtin to prevent inlining and allow the Intel Inspector to check for arguments.

Possible Correction Strategies

If the arguments represent the range you want to copy, call the memmove function instead of the memcpy function.


Supplemental documentation specific to a particular Intel Studio may be available at <install-dir>/<studio>/documentation/.

For more complete information about compiler optimizations, see our Optimization Notice.