diff options
author | Gustavo A. R. Silva <gustavoars@kernel.org> | 2022-01-24 19:56:06 -0600 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2022-07-09 15:13:59 -0700 |
commit | c0ea4b919daed7333ebc0d630adc262eb0a0d8c1 (patch) | |
tree | 90e05ac966f10b68842cf69dfd8c5899a947dd78 /security | |
parent | ec240b5905bbb09a03dccffee03062cf39e38dc2 (diff) | |
download | lwn-c0ea4b919daed7333ebc0d630adc262eb0a0d8c1.tar.gz lwn-c0ea4b919daed7333ebc0d630adc262eb0a0d8c1.zip |
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')
-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; |