1. 13 May, 2008 39 commits
  2. 12 May, 2008 1 commit
    • Julia Lawall's avatar
      pppol2tp: Remove null pointer dereference. · 5dc474d6
      Julia Lawall authored
      If session is NULL, it is not possible to access its name field.  So I
      have split apart the printing of the error message to drop the
      printing of the name field in this case.
      
      The macro PRINTK actually only evaluates its arguments starting with
      the third one if the bitwise conjunction of the first two is non-zero.
      Normally, this conjunction would only be non-zero if debugging mode
      were turned on, but when session is NULL, the first argument in both
      the old and new code is -1, and thus the bitwise conjunction is true.
      Perhaps a different strategy is desired, such as using tunnel->debug,
      which session->debug is initialized to, but tunnel can also be NULL,
      so this does not completely solve the problem.
      
      
      This problem was found using the following semantic match
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression E, E1;
      identifier f;
      statement S1,S2,S3;
      @@
      
      * if (E == NULL)
      {
        ... when != if (E == NULL) S1 else S2
            when != E = E1
      * E->f
        ... when any
        return ...;
      }
      else S3
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5dc474d6