General

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Allow Lint to see that constructor takes ownership of memory.

    Lint sees that ownership of allocated memory is taken by a constructor if the owning object isn't "new'd". But if the owning object is "new'd", then Lint does not understand this. See the example below, which works in the online demo.

    This was discussed in this thread, as well as several others:
    http://www.gimpel.com/Discussion.cfm?ThreadID=808

    //lint -e438, -e529, -e1502, -e1712, -e1788, -e714
    #include <memory>

    struct A { A(char *){}; };
    void g( )
    {
    // This results in a 429 warning.
    char * ptr1 = (char *) malloc(10);
    A *a1 = new A(ptr1);

    // This does not result in a 429 warning. …

    16 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      planned  ·  0 comments  ·  Admin →
    • Use a fixed release cycle

      Customers could plan better, if they knew you have 2 or 4 releases per year.
      Right now it´s totally unpredictable.

      4 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        planned  ·  0 comments  ·  Admin →
      • Add appended messages to the save/restore concept

        We are linting our complete software with different rulesets for its different SW-parts (because some are safety relevant and some are not, i.e. the rulesets differ, but the code analysis must check the software as a whole).

        Each SW-part's rulesets has its own active rules/errors + specific messages for the errors, which are added via the "-append()" option.
        In the course of action we use the save/restore options to get back to a basic common, global configuration.

        I.e. the complete command line is something like:
        # lint-nt.exe
        # <output file>
        # <global base cfg>
        # <msg output format cfg>.lnt
        #…

        3 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          planned  ·  0 comments  ·  Admin →
        • Out Of Bounds Checking at Start Of Array

          This is 'out-of-bounds' is detected:

          unsigned char buffer[5];
          unsigned char* buffer_ptr = &buffer[4];

          ++buffer_ptr; // ERROR! now points to 1 byte after &buffer[4]
          *buffer_ptr = 0x12; // assign to memory outside of buffer[]

          This 'out-of-bounds' is NOT detected:

          unsigned char buffer[5];
          unsigned char* buffer_ptr = &buffer[0];

          --buffer_ptr; // ERROR! now points to 1 byte before &buffer[0]
          *buffer_ptr = 0x12; // assign to memory outside of buffer[]

          As 'buffer_ptr' has been 'bound' to 'buffer' via the assignment I would have expected PC-lint to have detected this.

          3 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            planned  ·  0 comments  ·  Admin →
          • Don't see your idea?

          General

          Feedback and Knowledge Base