checkpatch: deprecate unbounded string functions.

Unbounded string functions are overflow risks.  The 'n'
versions of those functions should be used instead.

Change-Id: Ice0fb3ebdae9aa88cc7e764ffdf68cbed857febf
Signed-off-by: Gregory Bean <gbean@codeaurora.org>
(cherry picked from commit 15e1e97d66dd6a6039c1ec2bd549a632fe361128)
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
This commit is contained in:
Gregory Bean 2011-05-10 12:34:09 -07:00 committed by Stepan Moskovchenko
parent 1c82fe3903
commit 3bdbf8adfd
1 changed files with 20 additions and 0 deletions

View File

@ -4535,6 +4535,26 @@ sub process {
$herecurr);
}
# unbounded string functions are overflow risks
my %str_fns = (
"sprintf" => "snprintf",
"strcpy" => "strlcpy",
"strncpy" => "strlcpy",
"strcat" => "strlcat",
"strncat" => "strlcat",
"vsprintf" => "vsnprintf",
"strchr" => "strnchr",
"strstr" => "strnstr",
);
foreach my $k (keys %str_fns) {
if ($line =~ /\b$k\b/) {
ERROR("UNBOUNDED_STRING_FNS",
"Use of $k is deprecated: " .
"use $str_fns{$k} instead.\n" .
$herecurr);
}
}
# warn about #if 0
if ($line =~ /^.\s*\#\s*if\s+0\b/) {
WARN("IF_0",