User Guide

  • 2020
  • 05/04/2020
  • Public Content
Contents

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.
char *p = (char *)malloc(10); memcpy(p+3, p, 5);
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804