Print this page
new smatch

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/check_dereferences_param.c
          +++ new/usr/src/tools/smatch/src/check_dereferences_param.c
↓ open down ↓ 70 lines elided ↑ open up ↑
  71   71          sm = get_sm_state_expr(my_id, expr);
  72   72          if (sm && slist_has_state(sm->possible, &ignore))
  73   73                  return;
  74   74          set_state_expr(my_id, expr, &derefed);
  75   75  }
  76   76  
  77   77  static void match_dereference(struct expression *expr)
  78   78  {
  79   79          if (expr->type != EXPR_PREOP)
  80   80                  return;
  81      -        if (getting_address())
  82      -                return;
  83   81          check_deref(expr->unop);
  84   82  }
  85   83  
  86   84  static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
  87   85  {
  88   86          /* XXX FIXME: param_implies has more information now */
  89   87          if (strcmp(key, "$") != 0)
  90   88                  return;
  91   89          check_deref(arg);
  92   90  }
↓ open down ↓ 40 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX