Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a few gcc -fanalyzer warnings #120

Merged
merged 3 commits into from
Apr 23, 2021
Merged

Commits on Apr 14, 2021

  1. libnet_port_list.c: fix gcc -fanalyzer warning

    This fixes:
    
    libnet_port_list.c:99:8: warning: leak of ‘_8’ [CWE-401] [-Wanalyzer-malloc-leak]
       99 |     if (!all_lists)
          |        ^
      ‘libnet_plist_chain_new’: events 1-3
        |
        |   48 |     if (l == NULL)
        |      |        ^
        |      |        |
        |      |        (1) following ‘false’ branch (when ‘l_70(D)’ is non-NULL)...
        |......
        |   53 |     if (token_list == NULL)
        |      |     ~~ ~
        |      |     |  |
        |      |     |  (3) following ‘false’ branch (when ‘token_list_71(D)’ is non-NULL)...
        |      |     (2) ...to here
        |
      ‘libnet_plist_chain_new’: event 4
        |
        |cc1:
        | (4): ...to here
        |
      ‘libnet_plist_chain_new’: events 5-9
        |
        |   83 |     *plist = malloc(sizeof (libnet_plist_t));
        |      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |      |              |
        |      |              (5) allocated here
        |   84 |
        |   85 |     if (!(*plist))
        |      |        ~
        |      |        |
        |      |        (6) assuming ‘*plist_74(D)’ is non-NULL
        |      |        (7) following ‘false’ branch...
        |......
        |   93 |     tmp = *plist;
        |      |     ~~~
        |      |     |
        |      |     (8) ...to here
        |......
        |   99 |     if (!all_lists)
        |      |        ~
        |      |        |
        |      |        (9) ‘_8’ leaks here; was allocated at (5)
        |
    
    Signed-off-by: Adrian Reber <areber@redhat.com>
    adrianreber committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    fdf4c18 View commit details
    Browse the repository at this point in the history
  2. libnet_pblock.c: fix warning "unused variable ‘c’"

    Signed-off-by: Adrian Reber <areber@redhat.com>
    adrianreber committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    60d71f0 View commit details
    Browse the repository at this point in the history
  3. libnet_cq.c: fix 'dereference of possibly-NULL'

    libnet_cq.c:139:18: warning: dereference of possibly-NULL ‘new_18’ [CWE-690] [-Wanalyzer-possible-null-dereference]
      139 |     new->context = l;
          |     ~~~~~~~~~~~~~^~~
      ‘libnet_cq_add.part.0’: events 1-6
        |
        |   71 | libnet_cq_add(libnet_t *l, char *label)
        |      | ^~~~~~~~~~~~~
        |      | |
        |      | (1) entry to ‘libnet_cq_add.part.0’
        |......
        |   89 |     if (label == NULL)
        |      |        ~
        |      |        |
        |      |        (2) following ‘false’ branch (when ‘label_1(D)’ is non-NULL)...
        |......
        |   97 |     if (l_cq == NULL)
        |      |     ~~ ~
        |      |     |  |
        |      |     |  (4) following ‘false’ branch...
        |      |     (3) ...to here
        |......
        |  124 |     if (libnet_cq_dup_check(l, label))
        |      |     ~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |      |     |   |
        |      |     |   (6) calling ‘libnet_cq_dup_check’ from ‘libnet_cq_add.part.0’
        |      |     (5) ...to here
        |
        +--> ‘libnet_cq_dup_check’: events 7-13
               |
               |  269 | libnet_cq_dup_check(libnet_t *l, char *label)
               |      | ^~~~~~~~~~~~~~~~~~~
               |      | |
               |      | (7) entry to ‘libnet_cq_dup_check’
               |......
               |  273 |     for (p = l_cq; p; p = p->next)
               |      |                    ~  ~~~~~~~~~~~
               |      |                    |    |
               |      |                    |    (13) ...to here
               |      |                    (8) following ‘true’ branch (when ‘p_6’ is non-NULL)...
               |  274 |     {
               |  275 |         if (p->context == l)
               |      |         ~~ ~
               |      |         |  |
               |      |         |  (10) following ‘false’ branch...
               |      |         (9) ...to here
               |......
               |  281 |         if (strncmp(p->context->label, label, LIBNET_LABEL_SIZE) == 0)
               |      |         ~~ ~
               |      |         |  |
               |      |         |  (12) following ‘false’ branch...
               |      |         (11) ...to here
               |
        <------+
        |
      ‘libnet_cq_add.part.0’: events 14-20
        |
        |  124 |     if (libnet_cq_dup_check(l, label))
        |      |        ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |      |        ||
        |      |        |(14) returning to ‘libnet_cq_add.part.0’ from ‘libnet_cq_dup_check’
        |      |        (15) following ‘false’ branch...
        |......
        |  130 |     new = (libnet_cq_t *)malloc(sizeof (libnet_cq_t));
        |      |     ~~~                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |      |     |                    |
        |      |     |                    (17) this call could return NULL
        |      |     (16) ...to here
        |  131 |     if (l_cq == NULL)
        |      |        ~
        |      |        |
        |      |        (18) following ‘false’ branch...
        |......
        |  139 |     new->context = l;
        |      |     ~~~~~~~~~~~~~~~~
        |      |     |            |
        |      |     |            (20) ‘new_18’ could be NULL: unchecked value from (17)
        |      |     (19) ...to here
        |
    
    Signed-off-by: Adrian Reber <areber@redhat.com>
    adrianreber committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    5085aeb View commit details
    Browse the repository at this point in the history