fix(ui,db): harden NULL handling, fix CWE-134, optimize iterations
Some checks failed
CI Code / Code Coverage (push) Failing after 10m34s
CI Code / Check spelling (push) Failing after 10m47s
CI Code / Check coding style (push) Failing after 11m4s
CI Code / Linux (ubuntu) (push) Failing after 11m19s
CI Code / Linux (debian) (push) Failing after 11m28s
CI Code / Linux (arch) (push) Failing after 11m38s
Some checks failed
CI Code / Code Coverage (push) Failing after 10m34s
CI Code / Check spelling (push) Failing after 10m47s
CI Code / Check coding style (push) Failing after 11m4s
CI Code / Linux (ubuntu) (push) Failing after 11m19s
CI Code / Linux (debian) (push) Failing after 11m28s
CI Code / Linux (arch) (push) Failing after 11m38s
security(CWE-134): fix format string injections + add CI check fix(ui): subwindow lifecycle, newwin/newpad guards, fallback timestamps fix(db): sqlite cleanup on failures, sqlite3_close_v2 fix(xmpp): queued_messages loop, barejid leak perf(core): g_hash_table_iter_init instead of g_hash_table_get_keys refactor(ui): CLAMP macro in _check_subwin_width test: XEP-0012 and XEP-0045 functional tests Author: jabber.developer2 Closes #58, #85
This commit is contained in:
@@ -152,7 +152,7 @@ cons_bad_cmd_usage(const char* const cmd)
|
||||
g_string_printf(msg, "Invalid usage, see '/help %s' for details.", &cmd[1]);
|
||||
|
||||
cons_show("");
|
||||
cons_show(msg->str);
|
||||
cons_show("%s", msg->str);
|
||||
|
||||
g_string_free(msg, TRUE);
|
||||
}
|
||||
@@ -773,7 +773,7 @@ cons_show_disco_info(const char* jid, GSList* identities, GSList* features)
|
||||
if (identity->category) {
|
||||
identity_str = g_string_append(identity_str, identity->category);
|
||||
}
|
||||
cons_show(identity_str->str);
|
||||
cons_show("%s", identity_str->str);
|
||||
g_string_free(identity_str, TRUE);
|
||||
identities = g_slist_next(identities);
|
||||
}
|
||||
@@ -938,7 +938,7 @@ cons_show_account_list(gchar** accounts)
|
||||
theme_item_t presence_colour = theme_main_presence_attrs(string_from_resource_presence(presence));
|
||||
win_println(console, presence_colour, "-", "%s", accounts[i]);
|
||||
} else {
|
||||
cons_show(accounts[i]);
|
||||
cons_show("%s", accounts[i]);
|
||||
}
|
||||
}
|
||||
cons_show("");
|
||||
@@ -1019,7 +1019,7 @@ cons_show_account(ProfAccount* account)
|
||||
}
|
||||
curr = curr->next;
|
||||
}
|
||||
cons_show(manual->str);
|
||||
cons_show("%s", manual->str);
|
||||
g_string_free(manual, TRUE);
|
||||
}
|
||||
if (g_list_length(account->otr_opportunistic) > 0) {
|
||||
@@ -1032,7 +1032,7 @@ cons_show_account(ProfAccount* account)
|
||||
}
|
||||
curr = curr->next;
|
||||
}
|
||||
cons_show(opportunistic->str);
|
||||
cons_show("%s", opportunistic->str);
|
||||
g_string_free(opportunistic, TRUE);
|
||||
}
|
||||
if (g_list_length(account->otr_always) > 0) {
|
||||
@@ -1045,7 +1045,7 @@ cons_show_account(ProfAccount* account)
|
||||
}
|
||||
curr = curr->next;
|
||||
}
|
||||
cons_show(always->str);
|
||||
cons_show("%s", always->str);
|
||||
g_string_free(always, TRUE);
|
||||
}
|
||||
|
||||
@@ -2297,7 +2297,7 @@ cons_show_themes(GSList* themes)
|
||||
} else {
|
||||
cons_show("Available themes:");
|
||||
while (themes) {
|
||||
cons_show(themes->data);
|
||||
cons_show("%s", themes->data);
|
||||
themes = g_slist_next(themes);
|
||||
}
|
||||
}
|
||||
@@ -2315,7 +2315,7 @@ cons_show_scripts(GSList* scripts)
|
||||
} else {
|
||||
cons_show("Scripts:");
|
||||
while (scripts) {
|
||||
cons_show(scripts->data);
|
||||
cons_show("%s", scripts->data);
|
||||
scripts = g_slist_next(scripts);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user