[CStringSyntaxChecker] Check strlcpy sizeof syntax
authorDavid Carlier <devnexen@gmail.com>
Thu, 19 Jul 2018 21:50:03 +0000 (21:50 +0000)
committerDavid Carlier <devnexen@gmail.com>
Thu, 19 Jul 2018 21:50:03 +0000 (21:50 +0000)
commit8e75de21002f104e4c328b5f43cc031fcb48f45f
tree0f3d87fc13c546e850949df2f18e43c6e573c0b6
parent83497d9eadd04a0ee57e4858a8f3b7b3cb99a22b
[CStringSyntaxChecker] Check strlcpy sizeof syntax

The last argument is expected to be the destination buffer size (or less).

    Detects if it points to destination buffer size directly or via a variable.
    Detects if it is an integral, try to detect if the destination buffer can receive the source length.

Updating bsd-string.c unit tests as it make it fails now.

Reviewers: george.karpenpov, NoQ

Reviewed By: george.karpenkov

Differential Revision: https://reviews.llvm.org/D48884

llvm-svn: 337499
clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
clang/test/Analysis/bsd-string.c
clang/test/Analysis/cstring-syntax.c