[patch] Suppress GCC warning

12 views
Skip to first unread message

Ken Takata

unread,
Jun 4, 2019, 8:04:17 AM6/4/19
to vim_dev
Hi,

GCC 9.1 warns this:

In file included from textprop.c:30:
textprop.c: In function 'join_prop_lines':
vim.h:1688:37: warning: 'props' may be used uninitialized in this function [-Wmaybe-uninitialized]
1688 | # define mch_memmove(to, from, len) memmove((char*)(to), (char*)(from), (size_t)(len))
| ^~~~~~~
textprop.c:1221:13: note: 'props' was declared here
1221 | char_u *props;
| ^~~~~


The following patch seems to solve the warning:

--- a/src/textprop.c
+++ b/src/textprop.c
@@ -1240,9 +1240,12 @@ join_prop_lines(
if (line == NULL)
return;
mch_memmove(line, newp, len);
- l = oldproplen * sizeof(textprop_T);
- mch_memmove(line + len, props, l);
- len += l;
+ if (oldproplen > 0)
+ {
+ l = oldproplen * sizeof(textprop_T);
+ mch_memmove(line + len, props, l);
+ len += l;
+ }

for (i = 0; i < count - 1; ++i)
if (prop_lines[i] != NULL)


Regards,
Ken Takata

Bram Moolenaar

unread,
Jun 4, 2019, 1:53:38 PM6/4/19
to vim...@googlegroups.com, Ken Takata

Ken Takata wrote:

> GCC 9.1 warns this:
>
> In file included from textprop.c:30:
> textprop.c: In function 'join_prop_lines':
> vim.h:1688:37: warning: 'props' may be used uninitialized in this function [-Wmaybe-uninitialized]
> 1688 | # define mch_memmove(to, from, len) memmove((char*)(to), (char*)(from), (size_t)(len))
> | ^~~~~~~
> textprop.c:1221:13: note: 'props' was declared here
> 1221 | char_u *props;
> | ^~~~~
>
>
> The following patch seems to solve the warning:

Thanks!

--
From "know your smileys":
8<}} Glasses, big nose, beard

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages