From patchwork Fri Oct 24 20:19:09 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuri Gribov X-Patchwork-Id: 402952 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 33C12140097 for ; Sat, 25 Oct 2014 07:19:21 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:cc:content-type; q=dns; s=default; b=BEwS1YlFdNXVoS2Ow+zyylkHNIVzWlDq8cyIde5eV1g QK3cH51lqPDbUZO6iL2TB2iduZo9+WEZSaCXtVwJKFIA/FdSQW0WNxrWaQQcE9HE Q3MPmkLIldQ5IRuFZAL9xU9ik2zKhGCsIqrfyT8sg6pQ6ZlYN1HV9zMhjeaH7qA8 = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:cc:content-type; s=default; bh=v449/PslmeaHQJNDKwwUMcFqkbc=; b=CP7LV5ZD1sBNN/rwt hu7lh69/xNIuy26mVFktxmsm5qzOkknbmlTjA+mEt2ahu3XVUEzLUEvwUZF5dePH aptwmLRbzbWFG/ODLyMGR7quCycKQWWc+9LfSY4J5Sgn+V9WQqnv1KyVDCUBIffu f7bKZs8raBFEzvEfWN6dlxGEUE= Received: (qmail 20024 invoked by alias); 24 Oct 2014 20:19:15 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 20014 invoked by uid 89); 24 Oct 2014 20:19:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL, BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-lb0-f178.google.com Received: from mail-lb0-f178.google.com (HELO mail-lb0-f178.google.com) (209.85.217.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 24 Oct 2014 20:19:13 +0000 Received: by mail-lb0-f178.google.com with SMTP id w7so3136064lbi.23 for ; Fri, 24 Oct 2014 13:19:09 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.112.47.37 with SMTP id a5mr6725033lbn.31.1414181949465; Fri, 24 Oct 2014 13:19:09 -0700 (PDT) Received: by 10.25.21.164 with HTTP; Fri, 24 Oct 2014 13:19:09 -0700 (PDT) Date: Sat, 25 Oct 2014 00:19:09 +0400 Message-ID: Subject: [PATCH][Commited] Fix PR sanitizer/63638 From: Yuri Gribov To: GCC Patches Cc: Jakub Jelinek , Maxim Ostapenko , Viacheslav Garbuzov Hi all, This patch fixes was approved by Jakub in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63638 . Same fix for 5.0 will be probably commited in https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02066.html . -Y commit 87a472b057af66d46a5437137e9535c70de5c786 Author: Yury Gribov Date: Fri Oct 24 19:20:37 2014 +0400 2014-10-24 Yury Gribov gcc/ * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST. gcc/testsuite/ * c-c++-common/asan/pr63638.c: New test. diff --git a/gcc/asan.c b/gcc/asan.c index 7c27fe7..f6c42a1 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -250,7 +250,7 @@ enum asan_check_flags ASAN_CHECK_NON_ZERO_LEN = 1 << 2, ASAN_CHECK_START_INSTRUMENTED = 1 << 3, ASAN_CHECK_END_INSTRUMENTED = 1 << 4, - ASAN_CHECK_LAST + ASAN_CHECK_LAST = 1 << 5 }; /* Hashtable support for memory references used by gimple diff --git a/gcc/testsuite/c-c++-common/asan/pr63638.c b/gcc/testsuite/c-c++-common/asan/pr63638.c new file mode 100644 index 0000000..a8bafc5 --- /dev/null +++ b/gcc/testsuite/c-c++-common/asan/pr63638.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ + +extern +#ifdef __cplusplus +"C" +#endif +void *memcpy (void *, const void *, __SIZE_TYPE__); + +struct S{ + long d0, d1, d2, d3, d4, d5, d6; +}; + +struct S s[6]; + +int f(struct S *p) +{ + memcpy(p, &s[2], sizeof(*p)); + memcpy(p, &s[1], sizeof(*p)); +} +