fix gcc maybe-uninitialized compiler warnings in acl_addr
authorLee <ler762@users.sourceforge.net>
Wed, 9 Aug 2023 08:42:15 +0000 (04:42 -0400)
committerLee <ler762@users.sourceforge.net>
Wed, 9 Aug 2023 08:42:15 +0000 (04:42 -0400)
I can't tell if they're false positives or not, but compiling with
no warnings is better than seeing this:

filters.c: In function ‘acl_addr’:
filters.c:465:31: warning: ‘addr_len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  465 |    for (i = 0; (i < addr_len) && masklength; i++)
      |                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
filters.c:454:18: warning: ‘mask_port’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  454 |       *mask_port = 1;
      |       ~~~~~~~~~~~^~~
filters.c:479:19: warning: ‘mask_data’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  479 |          mask_data[i] = (uint8_t)~((1 << (8 - masklength)) - 1);
      |                   ^

filters.c

index 86a1dfc..9915bf5 100644 (file)
--- a/filters.c
+++ b/filters.c
@@ -342,6 +342,10 @@ int acl_addr(const char *aspec, struct access_control_addr *aca)
    char *p;
    char *acl_spec = NULL;
 
+   mask_data = NULL;
+   mask_port = NULL;
+   addr_len = 0;
+
 #ifdef HAVE_RFC2553
    /* XXX: Depend on ai_family */
    masklength = 128;