On 08/20/2013 02:05 PM, Rusty Russell wrote:
> Chen Gang <gang.c...@asianux.com> writes:
> 
>> For some strings (e.g. version string), they are permitted to be larger
>> than PAGE_SIZE (although meaningless), so recommend to use scnprintf()
>> instead of sprintf().
> 
> Applied.
> 

Thanks.

> Thanks,
> Rusty.
> 
>>
>> Signed-off-by: Chen Gang <gang.c...@asianux.com>
>> ---
>>  kernel/params.c |    7 ++++---
>>  1 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/kernel/params.c b/kernel/params.c
>> index 1f228a3..4da300f 100644
>> --- a/kernel/params.c
>> +++ b/kernel/params.c
>> @@ -241,7 +241,8 @@ int parse_args(const char *doing,
>>      }                                                               \
>>      int param_get_##name(char *buffer, const struct kernel_param *kp) \
>>      {                                                               \
>> -            return sprintf(buffer, format, *((type *)kp->arg));     \
>> +            return scnprintf(buffer, PAGE_SIZE, format,             \
>> +                            *((type *)kp->arg));                    \
>>      }                                                               \
>>      struct kernel_param_ops param_ops_##name = {                    \
>>              .set = param_set_##name,                                \
>> @@ -285,7 +286,7 @@ EXPORT_SYMBOL(param_set_charp);
>>  
>>  int param_get_charp(char *buffer, const struct kernel_param *kp)
>>  {
>> -    return sprintf(buffer, "%s", *((char **)kp->arg));
>> +    return scnprintf(buffer, PAGE_SIZE, "%s", *((char **)kp->arg));
>>  }
>>  EXPORT_SYMBOL(param_get_charp);
>>  
>> @@ -827,7 +828,7 @@ ssize_t __modver_version_show(struct module_attribute 
>> *mattr,
>>      struct module_version_attribute *vattr =
>>              container_of(mattr, struct module_version_attribute, mattr);
>>  
>> -    return sprintf(buf, "%s\n", vattr->version);
>> +    return scnprintf(buf, PAGE_SIZE, "%s\n", vattr->version);
>>  }
>>  
>>  extern const struct module_version_attribute *__start___modver[];
>> -- 
>> 1.7.7.6
> 
> 


-- 
Chen Gang
--
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/

Reply via email to