mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
ext4: fix diagnostic printf formats
The formats for non-terminated names should be "%.*s" not "%*.s". The kernel currently treats "%*.s" as equivalent to "%*s" whereas userspace requires it be equivalent to "%*.0s". Neither is correct here. Signed-off-by: David Laight <david.laight.linux@gmail.com> Link: https://patch.msgid.link/20260326201804.3881-1-david.laight.linux@gmail.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
52b4fea162
commit
6ea3b34d86
|
|
@ -647,7 +647,7 @@ static struct stats dx_show_leaf(struct inode *dir,
|
|||
/* Directory is not encrypted */
|
||||
(void) ext4fs_dirhash(dir, de->name,
|
||||
de->name_len, &h);
|
||||
printk("%*.s:(U)%x.%u ", len,
|
||||
printk("%.*s:(U)%x.%u ", len,
|
||||
name, h.hash,
|
||||
(unsigned) ((char *) de
|
||||
- base));
|
||||
|
|
@ -683,7 +683,7 @@ static struct stats dx_show_leaf(struct inode *dir,
|
|||
(void) ext4fs_dirhash(dir,
|
||||
de->name,
|
||||
de->name_len, &h);
|
||||
printk("%*.s:(E)%x.%u ", len, name,
|
||||
printk("%.*s:(E)%x.%u ", len, name,
|
||||
h.hash, (unsigned) ((char *) de
|
||||
- base));
|
||||
fscrypt_fname_free_buffer(
|
||||
|
|
@ -694,7 +694,7 @@ static struct stats dx_show_leaf(struct inode *dir,
|
|||
char *name = de->name;
|
||||
(void) ext4fs_dirhash(dir, de->name,
|
||||
de->name_len, &h);
|
||||
printk("%*.s:%x.%u ", len, name, h.hash,
|
||||
printk("%.*s:%x.%u ", len, name, h.hash,
|
||||
(unsigned) ((char *) de - base));
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user