Mercurial > vim
diff src/syntax.c @ 10530:ea5adbeccfc1 v8.0.0155
commit https://github.com/vim/vim/commit/a216255a4faa91a15e7005ac319f2f62294f3f9e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 8 17:46:20 2017 +0100
patch 8.0.0155: ubsan complains about NULL pointer
Problem: When sorting zero elements a NULL pointer is passed to qsort(),
which ubsan warns for.
Solution: Don't call qsort() if there are no elements. (Dominique Pelle)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 08 Jan 2017 18:00:04 +0100 |
parents | e88ffb09ff38 |
children | 1c6db35e3527 |
line wrap: on
line diff
--- a/src/syntax.c +++ b/src/syntax.c @@ -6704,8 +6704,10 @@ syntime_report(void) } } - /* sort on total time */ - qsort(ga.ga_data, (size_t)ga.ga_len, sizeof(time_entry_T), + /* Sort on total time. Skip if there are no items to avoid passing NULL + * pointer to qsort(). */ + if (ga.ga_len > 1) + qsort(ga.ga_data, (size_t)ga.ga_len, sizeof(time_entry_T), syn_compare_syntime); MSG_PUTS_TITLE(_(" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN"));