On Tue, 25 Apr 2017 00:47:41 +0300 Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > On Sat, Apr 22, 2017 at 2:09 AM, Jérémy Lefaure > <jeremy.lefaure@xxxxxxxxxxxx> wrote: > > On Fri, 21 Apr 2017 22:41:54 +0300 > > Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > >> On Wed, Apr 19, 2017 at 11:38 PM, Jérémy Lefaure > >> <jeremy.lefaure@xxxxxxxxxxxx> wrote: > >> > When building object-list.o, gcc 6 raises a warning on the sprintf call > >> > in fscache_objlist_show: > >> > > >> > CC fs/fscache/object-list.o > >> > fs/fscache/object-list.c: In function ‘fscache_objlist_show’: > >> > fs/fscache/object-list.c:265:19: warning: ‘sprintf’ may write a > >> > terminating nul past the end of the destination [-Wformat-overflow=] > >> > sprintf(_type, "%02u", cookie->def->type); > >> > ^~~~~~ > >> > fs/fscache/object-list.c:265:4: note: ‘sprintf’ output between 3 and 4 > >> > bytes into a destination of size 3 > >> > sprintf(_type, "%02u", cookie->def->type); > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > >> > Moreover, the documentation says that we should have an hex value for > >> > special cookies (see Documentation/filesystems/caching/fscache.txt). > >> > > >> > Printing hexadecimal value for special cookies fixes the overflow > >> > warning and complies with the documentation. > >> > >> If this is used by some user space tool the safest fix is to print in > >> BCD and fix documentation. > >> > > Are you talking about the Binary Coded Decimal format ? > > Yes. > > > I don't get why > > it would be better. If we change the printed format, it would break > > user space tool anyway, right ? > > If userspace tool is bound to the format it might go crazy about hex > digits in the cookie. > > Is that cookie important somehow? (for example, user space might > request something based on it?) It might be a case when you got let > say '75' and then ask for 117 (0x75), however real value is 75. > Ok I get it. But changing the format can break the userland tool anyway, can't it ? For example if a userland tool expects the value 75, it won't read it properpy in BCD. > So, if it's okay in this, perhaps paragraph explaining side effects in > commit message would be good to have/ > Maybe the best fix would be to increase the size of the _type buffer to 4 so the unsigned byte can fit in it. And change the documentation to decimal value. What do you think about this solution ? Thanks, -- Linux-cachefs mailing list Linux-cachefs@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cachefs