Print this page
12724 update smatch to 0.6.1-rc1-il-5

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/check_all_func_returns.c
          +++ new/usr/src/tools/smatch/src/check_all_func_returns.c
↓ open down ↓ 66 lines elided ↑ open up ↑
  67   67          /*
  68   68           * Either we got the return type already (direct call),
  69   69           * or we need to go one further (function pointer call)
  70   70           */
  71   71          if (sym == &void_ctype || (sym->type == SYM_FN &&
  72   72                  get_real_base_type(sym) == &void_ctype))
  73   73                  return;
  74   74  
  75   75          stmt = last_ptr_list((struct ptr_list *)big_statement_stack);
  76   76  
  77      -        if (stmt->type == STMT_EXPRESSION && stmt->expression == expr)
       77 +        if (stmt && stmt->type == STMT_EXPRESSION && stmt->expression == expr)
  78   78                  sm_error("unchecked function return '%s'", expr_to_str(expr->fn));
  79   79  }
  80   80  
  81   81  void check_all_func_returns(int id)
  82   82  {
  83   83          if (option_project != PROJ_ILLUMOS_KERNEL &&
  84   84              option_project != PROJ_ILLUMOS_USER)
  85   85                  return;
  86   86  
  87   87          add_hook(&check_func_return, FUNCTION_CALL_HOOK);
  88   88  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX