||/dev/hello_world: A Simple Introduction to Device Drivers under Linux|
|Subject:||Small problem in hello_proc.c?|
Response to: Small problem in hello_proc.c?
Yes, you are correct that we are copying one more byte to the buffer than we are testing for. Thanks for catching the bug! In practice, this isn't a problem because the kernel always allocates a full page to pass to the /proc read function. The solution isn't to test for a larger buffer, though - we don't want to copy the null terminating byte to userspace. Instead, we'll use strncpy to avoid copying the terminating byte.
Hear us Roar