diff options
| author | Patrick Steinhardt <ps@pks.im> | 2022-12-01 15:47:00 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-12-09 14:26:21 +0900 |
| commit | 17d23e8a3812a5ca3dd6564e74d5250f22e5d76d (patch) | |
| tree | ba8f2c2fe6a210bc7e839884f472c6ace93bf1d0 /notes.c | |
| parent | utf8: fix truncated string lengths in `utf8_strnwidth()` (diff) | |
| download | git-17d23e8a3812a5ca3dd6564e74d5250f22e5d76d.tar.gz git-17d23e8a3812a5ca3dd6564e74d5250f22e5d76d.zip | |
utf8: fix returning negative string width
The `utf8_strnwidth()` function calls `utf8_width()` in a loop and adds
its returned width to the end result. `utf8_width()` can return `-1`
though in case it reads a control character, which means that the
computed string width is going to be wrong. In the worst case where
there are more control characters than non-control characters, we may
even return a negative string width.
Fix this bug by treating control characters as having zero width.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'notes.c')
0 files changed, 0 insertions, 0 deletions
