CVE-2025-4878 Initialize pointers where possible

This is mostly mechanical change initializing all the pointers I was able to
find with some grep and manual review of sources and examples.

Used the following greps (which yield some false positives though):

    git grep "    \w* *\* *\w*;$"
    git grep " ssh_session \w*;"
    git grep " ssh_channel \w*;"
    git grep " struct ssh_iterator \*\w*;"
    git grep " ssh_bind \w*;"
    git grep " ssh_key \w*;"
    git grep " ssh_string \w*;"
    git grep " ssh_buffer \w*;"
    git grep " HMACCTX \w*;"
    git grep " SHACTX \w*;"
    grep -rinP '^(?!.*=)\s*(?:\w+\s+)*\w+\s*\*\s*\w+\s*;'

Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Jakub Jelen
2025-04-23 17:57:11 +02:00
committed by Andreas Schneider
parent 5d27f69494
commit 2eb2af4426
62 changed files with 352 additions and 336 deletions

View File

@@ -430,7 +430,7 @@ int ssh_is_ipaddr(const char *str)
char *ssh_lowercase(const char* str)
{
char *new, *p;
char *new = NULL, *p = NULL;
if (str == NULL) {
return NULL;
@@ -484,7 +484,7 @@ char *ssh_hostport(const char *host, int port)
char *ssh_get_hexa(const unsigned char *what, size_t len)
{
const char h[] = "0123456789abcdef";
char *hexa;
char *hexa = NULL;
size_t i;
size_t hlen = len * 3;
@@ -754,7 +754,7 @@ struct ssh_list *ssh_list_new(void)
void ssh_list_free(struct ssh_list *list)
{
struct ssh_iterator *ptr, *next;
struct ssh_iterator *ptr = NULL, *next = NULL;
if (!list)
return;
ptr = list->root;
@@ -775,7 +775,7 @@ struct ssh_iterator *ssh_list_get_iterator(const struct ssh_list *list)
struct ssh_iterator *ssh_list_find(const struct ssh_list *list, void *value)
{
struct ssh_iterator *it;
struct ssh_iterator *it = NULL;
for (it = ssh_list_get_iterator(list); it != NULL ; it = it->next)
if (it->data == value)
@@ -865,7 +865,7 @@ int ssh_list_prepend(struct ssh_list *list, const void *data)
void ssh_list_remove(struct ssh_list *list, struct ssh_iterator *iterator)
{
struct ssh_iterator *ptr, *prev;
struct ssh_iterator *ptr = NULL, *prev = NULL;
if (list == NULL) {
return;
@@ -1006,7 +1006,7 @@ char *ssh_dirname (const char *path)
char *ssh_basename (const char *path)
{
char *new = NULL;
const char *s;
const char *s = NULL;
size_t len;
if (path == NULL || *path == '\0') {
@@ -1144,8 +1144,8 @@ int ssh_mkdirs(const char *pathname, mode_t mode)
*/
char *ssh_path_expand_tilde(const char *d)
{
char *h = NULL, *r;
const char *p;
char *h = NULL, *r = NULL;
const char *p = NULL;
size_t ld;
size_t lh = 0;
@@ -1160,7 +1160,7 @@ char *ssh_path_expand_tilde(const char *d)
#ifdef _WIN32
return strdup(d);
#else
struct passwd *pw;
struct passwd *pw = NULL;
size_t s = p - d;
char u[128];
@@ -1221,7 +1221,7 @@ char *ssh_path_expand_escape(ssh_session session, const char *s)
char *buf = NULL;
char *r = NULL;
char *x = NULL;
const char *p;
const char *p = NULL;
size_t i, l;
r = ssh_path_expand_tilde(s);
@@ -1374,8 +1374,8 @@ char *ssh_path_expand_escape(ssh_session session, const char *s)
*/
int ssh_analyze_banner(ssh_session session, int server)
{
const char *banner;
const char *openssh;
const char *banner = NULL;
const char *openssh = NULL;
if (server) {
banner = session->clientbanner;