public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Mikhail Maltsev <maltsevm@gmail.com>
To: Jeff Law <law@redhat.com>, gcc-patches <gcc-patches@gnu.org>,
	 Jason Merrill <jason@redhat.com>
Subject: Re: [PATCH 4/7] Fix int overflow
Date: Tue, 07 Jul 2015 00:05:00 -0000	[thread overview]
Message-ID: <559B17A5.7070102@gmail.com> (raw)
In-Reply-To: <559B0752.6060603@redhat.com>

On 07.07.2015 1:55, Jeff Law wrote:

>>     len = d_number (di);
>> -  if (len <= 0)
>> +  if (len <= 0 || len > INT_MAX)
>>       return NULL;
>>     ret = d_identifier (di, len);
>>     di->last_name = ret;
> Isn't this only helpful if sizeof (long) > sizeof (int)?  Otherwise the
> compiler is going to eliminate that newly added test, right?
> 
> So with that in mind, what happens on i686-unknown-linux with this test?
> 
> 
> Jeff
> 

Probably it should be fine, because the problem occurred when len became
negative after implicit conversion to int (d_identifier does not check
for negative length, but it does check that length does not exceed total
string length). In this case (i.e. on ILP32 targets) len will not change
sign after conversion to int (because it's a no-op).
I'm not completely sure about compiler warnings, but AFAIR, in multilib
build libiberty is also built for 32-bit target, and I did not get any
additional warnings.

-- 
Regards,
    Mikhail Maltsev

  reply	other threads:[~2015-07-07  0:05 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06 19:18 [PATCH 0/7] Fix bugs found during demangler fuzz-testing Mikhail Maltsev
2015-07-06 19:22 ` [PATCH 1/7] Add CHECK_DEMANGLER Mikhail Maltsev
2015-07-06 22:50   ` Jeff Law
2015-07-06 19:24 ` [PATCH 2/7] Fix build with CP_DEMANGLE_DEBUG Mikhail Maltsev
2015-07-06 22:19   ` Jeff Law
2015-07-06 19:26 ` [PATCH 3/7] Fix trinary op Mikhail Maltsev
2015-07-07 22:39   ` Jeff Law
2015-07-08 10:55     ` Ian Lance Taylor
2015-07-08 13:42       ` Tom Tromey
2015-07-08 13:46         ` Ian Lance Taylor
2015-07-10  4:50       ` Mikhail Maltsev
2015-07-10 20:44         ` Jeff Law
2015-07-13  5:54           ` Mikhail Maltsev
2015-07-06 19:28 ` [PATCH 5/7] Fix braced-init-list demangling Mikhail Maltsev
2015-07-06 22:58   ` Jeff Law
2015-07-06 19:28 ` [PATCH 4/7] Fix int overflow Mikhail Maltsev
2015-07-06 22:55   ` Jeff Law
2015-07-07  0:05     ` Mikhail Maltsev [this message]
2015-07-07 22:48       ` Jeff Law
2015-07-08  3:58         ` Mikhail Maltsev
2015-07-08 10:52   ` Ian Lance Taylor
2015-07-06 19:31 ` [PATCH 6/7] Fix DEMANGLE_COMPONENT_LOCAL_NAME Mikhail Maltsev
2015-07-07 22:40   ` Jeff Law
2015-07-06 19:32 ` [PATCH 7/7] Fix several crashes in d_find_pack Mikhail Maltsev
2015-07-07 22:50   ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559B17A5.7070102@gmail.com \
    --to=maltsevm@gmail.com \
    --cc=gcc-patches@gnu.org \
    --cc=jason@redhat.com \
    --cc=law@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).