/pidgin/main: 2897add11757: Silence some coverity false positives
Tomasz Wasilczyk <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: 2897add117575c515365af62936267cf02dc944d Author: Tomasz Wasilczyk <[email protected]> Date: 2014-05-12 21:13 +0200 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/2897add11757 Description: Silence some coverity false positives diffstat: libpurple/internal.h | 8 ++++++++ libpurple/plugins/perl/common/module.h | 11 +++++++++++ libpurple/protocols/jabber/jabber.c | 2 +- libpurple/protocols/jabber/si.c | 5 ++++- libpurple/xmlnode.c | 4 +--- 5 files changed, 25 insertions(+), 5 deletions(-) diffs (91 lines): diff --git a/libpurple/internal.h b/libpurple/internal.h --- a/libpurple/internal.h +++ b/libpurple/internal.h @@ -174,6 +174,14 @@ #endif /* __clang__ */ +#ifdef __COVERITY__ + +/* avoid TAINTED_SCALAR warning */ +#undef g_utf8_next_char +#define g_utf8_next_char(p) (char *)((p) + 1) + +#endif + /* Safer ways to work with static buffers. When using non-static * buffers, either use g_strdup_* functions (preferred) or use * g_strlcpy/g_strlcpy directly. */ diff --git a/libpurple/plugins/perl/common/module.h b/libpurple/plugins/perl/common/module.h --- a/libpurple/plugins/perl/common/module.h +++ b/libpurple/plugins/perl/common/module.h @@ -71,6 +71,17 @@ typedef struct group *Purple__Group; #include "whiteboard.h" #include "xmlnode.h" +#ifdef __COVERITY__ + +/* avoid extra_comma false positives */ +#undef SvPOK_only +#define SvPOK_only(sv) { \ + SvFLAGS(sv) &= ~(SVf_OK | SVf_IVisUV | SVf_UTF8); \ + SvFLAGS(sv) |= (SVf_POK | SVp_POK); \ + } + +#endif /* __COVERITY__ */ + /* account.h */ typedef PurpleAccount * Purple__Account; typedef PurpleAccountOption * Purple__Account__Option; diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c +++ b/libpurple/protocols/jabber/jabber.c @@ -474,7 +474,7 @@ void jabber_send_raw(JabberStream *js, c g_return_if_fail(data != NULL); /* because printing a tab to debug every minute gets old */ - if(strcmp(data, "\t")) { + if (data && strcmp(data, "\t") != 0) { const char *username; char *text = NULL, *last_part = NULL, *tag_start = NULL; diff --git a/libpurple/protocols/jabber/si.c b/libpurple/protocols/jabber/si.c --- a/libpurple/protocols/jabber/si.c +++ b/libpurple/protocols/jabber/si.c @@ -1715,11 +1715,13 @@ void jabber_si_parse(JabberStream *js, c if((filesize_c = xmlnode_get_attrib(file, "size"))) filesize_64 = g_ascii_strtoull(filesize_c, NULL, 10); + +#ifndef __COVERITY__ /* TODO 3.0.0: When the core uses a guint64, this is redundant. * See #8477. * * It may not be necessary on 64-bit machine. - * coverity[result_independent_of_operands] + * It raises result_independent_of_operands coverity false positive. */ if (filesize_64 > G_MAXSIZE) { /* Should this pop up a warning? */ @@ -1727,6 +1729,7 @@ void jabber_si_parse(JabberStream *js, c " -- see #8477 for more details."); return; } +#endif filesize = filesize_64; if(!(feature = xmlnode_get_child(si, "feature"))) diff --git a/libpurple/xmlnode.c b/libpurple/xmlnode.c --- a/libpurple/xmlnode.c +++ b/libpurple/xmlnode.c @@ -842,9 +842,7 @@ xmlnode_copy(const xmlnode *src) sibling->next = xmlnode_copy(child); sibling = sibling->next; } else { - ret->child = xmlnode_copy(child); - /* coverity[copy_paste_error] */ - sibling = ret->child; + ret->child = sibling = xmlnode_copy(child); } sibling->parent = ret; }