小编Mar*_*ark的帖子

是否有任何strcpy_s和/或TR24731-1的免费实现?

我有一个混合了C和C++的旧项目.它大量采用C串并strcpy,strcat,strncpy,strncat等我发现了一些缓冲区溢出,我想使用更安全功能,如strcpy_s.MSVC包含这些功能,但我需要能够在各种平台上运行的东西 - 至少是linux,osx和windows.

我知道strlcpy,但正如很多人注意到的那样(例子),这确实不是一种改进.


所以:是否有任何自由的实现strcpy_s,strcat_s等等,或者整个的TR24731-1

我需要的东西是public domain或者BSD,但是如果你知道其他许可证下的实现,请继续列出它们 - 我相信别人会受益.

c security string cross-platform tr24731

10
推荐指数
2
解决办法
8717
查看次数

海湾合作委员会:为什么这个fprintf的-Wformat警告?

我们清理了大量的警告.在某些情况下,我们将%s替换为%d.在我们意识到生成的代码无法编译之前,一切似乎都没问题 - 字符串已被数字替换.

注意:我在复制和粘贴时检出了错误的版本.fprintf字符串已被编辑!

GCC输出

fedex_plus/classes.c:2425:3:警告:格式'%s'需要类型为'char*'的参数,但参数3的类型为'int' [-Wformat]

第2424行和第2425行:

fprintf(file, "\n//\t%s_ptr create_TIE();\n\tIDL_Application_instance_ptr create_TIE();\n", 
    ENTITYget_CORBAname(entity));
Run Code Online (Sandbox Code Playgroud)

函数ENTITYget_CORBAname:

const char *
ENTITYget_CORBAname (Entity ent)
{
    static char newname [BUFSIZ];
    strcpy( newname, ENTITYget_name(ent) );
    newname[0] = ToUpper (newname [0]);
    return newname;
}
Run Code Online (Sandbox Code Playgroud)

c printf gcc warnings types

3
推荐指数
1
解决办法
8017
查看次数

标签 统计

c ×2

cross-platform ×1

gcc ×1

printf ×1

security ×1

string ×1

tr24731 ×1

types ×1

warnings ×1