git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 00/12] Clean up notes-related code around `load_subtree()`

From
Jeff King <peff@peff.net>
Date
Sep 10, 2017, 07:39 UTC
Message-ID
<20170910073928.ys4nbap76tmiurjh@sigill.intra.peff.net>
In-Reply-To
<2b7c0053-bf7a-fbdd-3cf9-39b5d9a962c3@alum.mit.edu>
On Sun, Sep 10, 2017 at 06:45:08AM +0200, Michael Haggerty wrote:
Show 11 quoted lines
> > So nothing to see here, but since I spent 20 minutes scratching my head
> > (and I know others look at Coverity output and may scratch their heads
> > too), I thought it was worth writing up. And also if I'm wrong, it would
> > be good to know. ;)
> 
> Thanks for looking into this. I agree with your analysis.
> 
> I wonder whether it is the factor of two between path lengths and byte
> lengths that is confusing Coverity. Perhaps the patch below would help.
> It requires an extra, superfluous, check, but perhaps makes the code a
> tad more readable. I'm neutral on whether we would want to make the change.

Yeah, I do agree that it makes the code's assumptions a bit easier to follow.

> Is there a way to ask Coverity whether a hypothetical change would
> remove the warning, short of merging the change to master?

You can download and run the build portion of the coverity tools yourself. IIRC, that pushes the build up to their servers which then do the analysis (you can make your own "project", or use the existing "git" project -- I checked and you are already listed as an admin). I recall it being a minor pain to get it set up, but not too bad.

Stefan runs it against "pu" on a regular basis, which is where the emailed results come from. So just having Junio merge it to "pu" would be enough to get results.

I noticed that they now have some GitHub/Travis integration:
  https://scan.coverity.com/github

I'm not sure if that is new, or if we just didn't notice it before. ;) But that probably makes more sense to use than ad-hoc uploading (and maybe it would make it easy for you to test personal branches, too).

-Peff
Previous: Michael HaggertyNext: Michael Haggerty
Message 21 of 23 in “Clean up notes-related code around `load_subtree()`”
  1. 00/12 Clean up notes-related code around `load_subtree()`Michael Haggerty, Aug 26, 2017
  2. 01/12 notes: make GET_NIBBLE macro more robustMichael Haggerty, Aug 26, 2017
  3. 03/12 load_subtree(): reduce the scope of some local variablesMichael Haggerty, Aug 26, 2017
  4. 04/12 load_subtree(): fix incorrect commentMichael Haggerty, Aug 26, 2017
  5. 06/12 load_subtree(): check earlier whether an internal node is a tree entryMichael Haggerty, Aug 26, 2017
  6. 08/12 get_oid_hex_segment(): return 0 on successMichael Haggerty, Aug 26, 2017
  7. 10/12 get_oid_hex_segment(): don't pad the rest of `oid`Michael Haggerty, Aug 26, 2017
  8. 11/12 hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`Michael Haggerty, Aug 26, 2017
  9. 12/12 load_subtree(): declare some variables to be `size_t`Michael Haggerty, Aug 26, 2017
  10. 07/12 load_subtree(): only consider blobs to be potential notesMichael Haggerty, Aug 26, 2017
  11. 05/12 load_subtree(): separate logic for internal vs. terminal entriesMichael Haggerty, Aug 26, 2017
  12. 09/12 load_subtree(): combine some common codeMichael Haggerty, Aug 26, 2017
  13. 02/12 load_subtree(): remove unnecessary conditionalMichael Haggerty, Aug 26, 2017
  14. Junio C HamanoAug 26, 2017
  15. Michael HaggertyAug 27, 2017
  16. Michael HaggertyAug 28, 2017
  17. Junio C HamanoSep 1, 2017
  18. Johan HerlandAug 26, 2017
  19. Jeff KingSep 9, 2017
  20. Michael HaggertySep 10, 2017
  21. Jeff KingSep 10, 2017
  22. Michael HaggertySep 12, 2017
  23. Lars SchneiderSep 12, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.