Linux内核中是否有像sprintf这样的C函数? [英] Is there a C function like sprintf in the Linux kernel?

查看:785
本文介绍了Linux内核中是否有像sprintf这样的C函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Linux内核中是否有类似sprintf()的功能(例如printf()-> printk())?

Is there function like sprintf() in Linux Kernel (like printf()->printk())?

推荐答案

是. https://git .kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/lib/vsprintf.c#n1828

int snprintf(char *buf, size_t size, const char *fmt, ...)
{
    va_list args;
    int i;

    va_start(args, fmt);
    i = vsnprintf(buf, size, fmt, args);
    va_end(args);

    return i;
}
EXPORT_SYMBOL(snprintf);

sprintf()本身容易出现缓冲区溢出.

sprintf() by itself is prone to buffer overflows. CERT buffer overflows, Apple, etc

这篇关于Linux内核中是否有像sprintf这样的C函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆