Files
neovim/src/nvim
Eliseo Martínez 24fa25a57f coverity/13683: Out-of-bounds access: RI.
Problem    : Out-of-bounds access @ 3730.
Diagnostic : Real issue.
Rationale  : str is constructed step by step, str_l growing each time.
             str_m is the maximum length of str. So, at every step,
             avail is computed to see if the piece to be added fits in.
             If not, piece is truncated to a max of `avail`, so that str
             stays in bounds. Such blocks where pieces are added are of
             the form `if (str_l < str_m)`. It then follows that once
             one of those pieces exhausts available space on str, no
             other such block should be entered. Formally:

               str_l < strl_m && avail = str_m - str_l && x >= avail
                                    -->
                             str_l + x >= str_m

             Now, suggested error path successively enters blocks where
             str is exhausted. We're not sure if coverity just fails to
             follow above implications, or, on the contrary, it's aware
             of them, but it's signaling the more complex possibility of
             implications not being fulfilled because of possible
             arithmetic overflows. We opt then to assume this last case,
             as the possibility is in fact there.
Resolution : Refactor code so that tracked condition doesn't depend on
             arithmetic implications. Check for overflow.
2015-02-20 17:34:07 +01:00
..
2015-02-18 20:54:12 -05:00
2015-01-26 02:17:13 -05:00
2015-02-20 13:26:59 -03:00
2014-11-15 17:17:21 -05:00
2014-08-02 09:16:59 +03:00
2014-07-16 17:12:34 +02:00
2015-02-13 14:56:43 -05:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:14 -05:00
2014-06-02 11:04:18 -03:00
2015-02-18 20:54:13 -05:00
2014-06-02 11:04:18 -03:00
2015-02-18 20:54:12 -05:00
2014-06-02 11:04:18 -03:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2015-02-19 17:08:43 -05:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:12 -05:00
2014-07-12 14:26:55 +02:00
2015-02-16 23:24:31 -05:00
2014-07-12 14:26:55 +02:00
2014-11-15 17:17:21 -05:00
2014-06-02 11:04:17 -03:00
2014-11-28 18:19:38 +00:00
2015-02-16 23:24:31 -05:00
2014-06-02 11:04:18 -03:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:12 -05:00
2014-07-16 19:05:34 +02:00
2014-11-06 00:18:26 +01:00
2014-06-02 11:04:17 -03:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:13 -05:00
2015-01-11 21:00:06 -05:00
2014-12-18 15:41:37 -03:00
2015-02-16 23:17:39 -03:00
2014-06-02 11:04:17 -03:00
2014-06-02 11:04:17 -03:00
2014-08-02 09:16:59 +03:00
2015-02-18 20:54:13 -05:00
2014-06-02 11:04:17 -03:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2014-11-27 15:00:30 -03:00
2015-01-27 01:33:34 +01:00
2014-06-02 11:04:17 -03:00
2015-01-20 21:09:45 +02:00
2015-01-14 15:07:16 -05:00
2014-06-02 11:04:17 -03:00
2014-07-12 14:26:55 +02:00
2014-11-27 14:48:30 -03:00
2014-11-11 11:34:58 -05:00
2014-12-11 20:29:59 -05:00
2015-02-08 17:46:09 -05:00
2014-07-12 14:26:55 +02:00
2015-01-15 18:55:44 -03:00
2015-02-18 20:54:14 -05:00
2014-07-16 19:05:35 +02:00
2015-02-18 20:54:13 -05:00
2014-12-18 15:41:27 +01:00
2014-06-02 11:04:17 -03:00
2015-02-18 20:54:13 -05:00
2014-11-27 15:00:30 -03:00
2014-07-12 14:26:55 +02:00
2014-12-20 09:41:51 +01:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2015-02-18 20:54:13 -05:00
2015-02-18 20:54:13 -05:00
2015-02-18 20:54:13 -05:00
2014-07-12 14:26:55 +02:00
2014-07-14 21:14:40 +02:00
2015-01-19 19:47:29 +01:00
2015-02-18 20:54:12 -05:00
2015-02-16 23:17:39 -03:00
2015-01-14 15:07:16 -05:00
2014-06-02 11:04:18 -03:00
2014-11-09 18:34:57 +01:00
2015-02-19 17:08:43 -05:00
2014-06-02 11:04:17 -03:00
2015-02-18 20:54:13 -05:00
2015-02-16 23:24:31 -05:00
2014-07-12 14:26:55 +02:00