3046fb914e7bcc14592c6ca4f5c2b2ea25135b41
Some versions of gcc can't follow the logic in the encryption path of the _krb5_evp_encrypt_iov_cts code, and believe that it is possible for the lastpos structure to be used uninitialised. This isn't actually possible. On entry to the loop, remaining is guaranteed to be both greater than, and a multiple of blocksize. In order to exit the loop, remaining must be set to 0. If cursor.current.length >= remaining, then we set remaining to 0 and also set lastpos. Otherwise, we calculate the number of whole blocks in the current iovec, which must be less than remaining, and subtract that from remaining. Remaining must still be a multiple of and greater than or equal to blocksize. If remaining == blocksize, we set lastpos, and set remaining to 0. Otherwise we consume a single block, and go around again. All of the paths which may set remaining to 0 also set lastpos, so lastpos must be populated when the loop terminates. Coverity has a similiar misconception, albeit with ivec2, which is mistaken for the same reasons.
Heimdal
Heimdal is a Kerberos 5 implementation.
For information how to install see here.
There are man pages for most of the commands.
Bug reports and bugs are appreciated. Use GitHub issues or send e-mail to heimdal-bugs@h5l.org.
For more information see the project homepage https://www.h5l.org/ or the mailing lists:
- heimdal-announce@sics.se low-volume announcement
- heimdal-discuss@sics.se high-volume discussion
Send e-mail to heimdal-announce-request@sics.se and heimdal-discuss-request@sics.se respectively to subscribe.
Build Status
Description
Languages
C
92.1%
Roff
2.8%
Shell
2.3%
Makefile
0.7%
M4
0.5%
Other
1.4%