Messages in this thread | | | Subject | Re: [PATCH] proc: Escape more characters in /proc/mounts output | From | Siddhesh Poyarekar <> | Date | Tue, 15 Dec 2020 13:00:27 +0530 |
| |
On 12/15/20 11:40 AM, Al Viro wrote: > On Tue, Dec 15, 2020 at 09:54:54AM +0530, Siddhesh Poyarekar wrote: > >> + get_user(byte, (const char __user *)data); >> + >> + return byte ? strndup_user(data, PATH_MAX) : NULL; >> } > > No. Not to mention anything else, you > * fetch the same data twice > * fail to check the get_user() results >
Ahh sorry, I could inline the strndup_user call and put an additional check for length == 1 to return NULL. Would that be acceptable?
The other alternative would be to not touch copy_mount_string and instead, check after fetching the string and if it is blank, free it and set to NULL. That seems more expensive though.
Siddhesh
| |