Messages in this thread | | | Date | Thu, 16 Apr 2020 15:47:54 -0300 | From | Jason Gunthorpe <> | Subject | Re: [PATCH] RDMA/ocrdma: Fix an off-by-one issue in 'ocrdma_add_stat' |
| |
On Thu, Apr 16, 2020 at 04:08:47PM +0300, Dan Carpenter wrote: > On Tue, Apr 14, 2020 at 03:34:41PM -0300, Jason Gunthorpe wrote: > > The memcpy is still kind of silly right? What about this: > > > > static int ocrdma_add_stat(char *start, char *pcur, char *name, u64 count) > > { > > size_t len = (start + OCRDMA_MAX_DBGFS_MEM) - pcur; > > int cpy_len; > > > > cpy_len = snprintf(pcur, len, "%s: %llu\n", name, count); > > if (cpy_len >= len || cpy_len < 0) { > > The kernel version of snprintf() doesn't and will never return > negatives. It would cause a huge security headache if it started > returning negatives.
Begs the question why it returns an int then :)
Thanks, Jason
| |