Am 05.10.2013 19:06, schrieb Chen Gang: > On 10/06/2013 12:50 AM, Chen Gang wrote: >> On 10/06/2013 12:08 AM, Richard Weinberger wrote: >>> On Sat, Oct 5, 2013 at 5:46 PM, Chen Gang <gang.c...@asianux.com> wrote: >>>> On 10/05/2013 11:41 PM, Joe Perches wrote: >>>>> On Sat, 2013-10-05 at 23:19 +0800, Chen Gang wrote: >>>>>> Theoretically, the maximize size of "%d" or "%u" is 11 (10 + '\0'), so >>>>>> need set MAX_NAMELEN 11 instead of 10. >>>>> >>>>> %d can be negative. >>>>> >>>>> >>>>> >>>>> >>>> >>>> Oh, really, it is incorrect. Al Viro succeeds once. :-( >>>> >>>> And I should send patch v2 for it. >>> >>> irq is in both register_irq_proc() and unregister_irq_proc() an unsigned >>> int. >>> Therefore %d makes not really sense. Both should use %u. >>> IMHO sprintf() should also get replaced by snprintf() but that's a >>> matter of taste. >>> > > Oh, commonly, snprintf() are used for the string which can be truncated, > and can not be used for the string which contents must not be truncated. > > In our case, the name string must be not truncated (or may not unique, > theoretically), so we have to still use sprintf().
Of course you would have to check the return value of snprintf() to detect a truncation and abort... Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/