diff options
author | Gustavo A. R. Silva <gustavoars@kernel.org> | 2022-01-25 04:56:06 +0300 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2022-07-10 01:13:59 +0300 |
commit | c0ea4b919daed7333ebc0d630adc262eb0a0d8c1 (patch) | |
tree | 90e05ac966f10b68842cf69dfd8c5899a947dd78 /security/apparmor/lib.c | |
parent | ec240b5905bbb09a03dccffee03062cf39e38dc2 (diff) | |
download | linux-c0ea4b919daed7333ebc0d630adc262eb0a0d8c1.tar.xz |
apparmor: Use struct_size() helper in kmalloc()
Make use of the struct_size() helper instead of an open-coded version,
in order to avoid any potential type mistakes or integer overflows that,
in the worst scenario, could lead to heap overflows.
Also, address the following sparse warnings:
security/apparmor/lib.c:139:23: warning: using sizeof on a flexible structure
Link: https://github.com/KSPP/linux/issues/174
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security/apparmor/lib.c')
-rw-r--r-- | security/apparmor/lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/security/apparmor/lib.c b/security/apparmor/lib.c index fa49b81eb54c..5eda003c0d45 100644 --- a/security/apparmor/lib.c +++ b/security/apparmor/lib.c @@ -136,7 +136,7 @@ __counted char *aa_str_alloc(int size, gfp_t gfp) { struct counted_str *str; - str = kmalloc(sizeof(struct counted_str) + size, gfp); + str = kmalloc(struct_size(str, name, size), gfp); if (!str) return NULL; |