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/smatch_param_to_mtag_data.c
          +++ new/usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
↓ open down ↓ 148 lines elided ↑ open up ↑
 149  149                  return;
 150  150  
 151  151          get_absolute_rl(gen_expr, &rl);
 152  152  
 153  153          if (!create_mtag_alias(tag, expr, &alias))
 154  154                  return;
 155  155  
 156  156  //      insert_mtag_data(alias, offset, rl);
 157  157  
 158  158          // FIXME:  is arg_offset handled correctly?
 159      -        if (expr_to_mtag_offset(gen_expr, &arg_tag, &arg_offset) && arg_offset == 0)
 160      -                sql_insert_mtag_map(arg_tag, -offset, alias);
      159 +        if (expr_to_mtag_offset(gen_expr, &arg_tag, &arg_offset) &&
      160 +            arg_offset < MTAG_OFFSET_MASK)
      161 +                sql_insert_mtag_map(alias, offset, arg_tag, arg_offset);
 161  162  }
 162  163  
 163  164  static void call_does_mtag_assign(struct expression *expr, int param, char *key, char *value)
 164  165  {
 165  166          char *p;
 166  167          mtag_t tag;
 167  168          int offset;
 168  169  
 169  170          while (expr->type == EXPR_ASSIGNMENT)
 170  171                  expr = strip_expr(expr->right);
↓ open down ↓ 50 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX