13e88418f808bf2840646504481d6a5be1df16541njn 23e88418f808bf2840646504481d6a5be1df16541njn/*--------------------------------------------------------------------*/ 33e88418f808bf2840646504481d6a5be1df16541njn/*--- Replacements for strcpy(), memcpy() et al, which run on the ---*/ 43e88418f808bf2840646504481d6a5be1df16541njn/*--- simulated CPU. ---*/ 51d0825ff46d57f0ce83c3fa88538a42f67022eeenjn/*--- mc_replace_strmem.c ---*/ 63e88418f808bf2840646504481d6a5be1df16541njn/*--------------------------------------------------------------------*/ 73e88418f808bf2840646504481d6a5be1df16541njn 83e88418f808bf2840646504481d6a5be1df16541njn/* 9137bc55f216bc7d9528f159a78cdf9025e0b02ffnethercote This file is part of MemCheck, a heavyweight Valgrind tool for 100e1b514ab8e837f75a207a037ea53a6a721e9d28njn detecting memory errors. 113e88418f808bf2840646504481d6a5be1df16541njn 1216f468ac6fc6fb4f654fd5b5412a20984e01ba7abart Copyright (C) 2000-2013 Julian Seward 133e88418f808bf2840646504481d6a5be1df16541njn jseward@acm.org 143e88418f808bf2840646504481d6a5be1df16541njn 153e88418f808bf2840646504481d6a5be1df16541njn This program is free software; you can redistribute it and/or 163e88418f808bf2840646504481d6a5be1df16541njn modify it under the terms of the GNU General Public License as 173e88418f808bf2840646504481d6a5be1df16541njn published by the Free Software Foundation; either version 2 of the 183e88418f808bf2840646504481d6a5be1df16541njn License, or (at your option) any later version. 193e88418f808bf2840646504481d6a5be1df16541njn 203e88418f808bf2840646504481d6a5be1df16541njn This program is distributed in the hope that it will be useful, but 213e88418f808bf2840646504481d6a5be1df16541njn WITHOUT ANY WARRANTY; without even the implied warranty of 223e88418f808bf2840646504481d6a5be1df16541njn MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 233e88418f808bf2840646504481d6a5be1df16541njn General Public License for more details. 243e88418f808bf2840646504481d6a5be1df16541njn 253e88418f808bf2840646504481d6a5be1df16541njn You should have received a copy of the GNU General Public License 263e88418f808bf2840646504481d6a5be1df16541njn along with this program; if not, write to the Free Software 273e88418f808bf2840646504481d6a5be1df16541njn Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 283e88418f808bf2840646504481d6a5be1df16541njn 02111-1307, USA. 293e88418f808bf2840646504481d6a5be1df16541njn 303e88418f808bf2840646504481d6a5be1df16541njn The GNU General Public License is contained in the file COPYING. 313e88418f808bf2840646504481d6a5be1df16541njn*/ 323e88418f808bf2840646504481d6a5be1df16541njn 33c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_basics.h" 346643e96a72e8530a7c8830c02ffb2fb4aee74c88philippe#include "pub_tool_poolalloc.h" 35c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_hashtable.h" 36c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_redir.h" 37c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_tooliface.h" 381a046d5a3c34f924b648cc22c01f0a8e02ca221eflorian#include "pub_tool_clreq.h" 39c7561b931e249acf3768ead77638545b0ccaa8f1njn 4034419c1237100ca66b224e235bc6ded59c7ec2fenjn#include "mc_include.h" 4198abfc7bb7798c4ac4580f7e0bc7171de94a0255fitzhardinge#include "memcheck.h" 423e88418f808bf2840646504481d6a5be1df16541njn 43575ce8ef8fa86a502dabe152293320676922dcfebart#define RECORD_OVERLAP_ERROR(s, src, dst, len) \ 444b3a74204894e943c43cb8e8aae39d813040702csewardj VALGRIND_DO_CLIENT_REQUEST_STMT( \ 45575ce8ef8fa86a502dabe152293320676922dcfebart _VG_USERREQ__MEMCHECK_RECORD_OVERLAP_ERROR, \ 46575ce8ef8fa86a502dabe152293320676922dcfebart s, src, dst, len, 0) 473e88418f808bf2840646504481d6a5be1df16541njn 489c7779b64eacf264ee427b97ae0df8596b1960ccbart#include "../shared/vg_replace_strmem.c" 49