mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
tools, slub: Fix off-by-one buffer corruption after readlink() call
readlink() never zero terminates the provided buffer.
Therefore we already do
buffer[count] = 0;
This leads to an off-by-one buffer corruption as readlink()
might return the full size of the buffer.
The common technique is to reduce the buffer size by one.
Another fix would be to check
if (count < 0 || count == sizeof(buffer))
fatal();
Reducing the buffer size by one is easier IMHO.
Signed-off-by: Thomas Jarosch <[email protected]>
Acked-by: David Rientjes <[email protected]>
Acked-by: Christoph Lameter <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
This commit is contained in:
parent
ab067e99d2
commit
fe35317865
1 changed files with 1 additions and 1 deletions
|
|
@ -1145,7 +1145,7 @@ static void read_slab_dir(void)
|
|||
switch (de->d_type) {
|
||||
case DT_LNK:
|
||||
alias->name = strdup(de->d_name);
|
||||
count = readlink(de->d_name, buffer, sizeof(buffer));
|
||||
count = readlink(de->d_name, buffer, sizeof(buffer)-1);
|
||||
|
||||
if (count < 0)
|
||||
fatal("Cannot read symlink %s\n", de->d_name);
|
||||
|
|
|
|||
Loading…
Reference in a new issue