[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
snapshots string function warning diff
Some of you might have noticed that the snapshots ship with a change
that makes the compiler warn for all sprintf and vsprintf calls, but
also for some strcat and strcpy uses (gcc optimizes some).
This change will most likely not go into 3.4 since it is very
annoying, but it is a diff that I will continue to compile the tree
with myself.
Here is that diff.
Index: lib/libc/arch/i386/string/strcat.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/i386/string/strcat.S,v
retrieving revision 1.2
diff -u -r1.2 strcat.S
--- lib/libc/arch/i386/string/strcat.S 19 Aug 1996 08:13:12 -0000 1.2
+++ lib/libc/arch/i386/string/strcat.S 28 Apr 2003 05:38:02 -0000
@@ -5,6 +5,11 @@
#include <machine/asm.h>
+#APP
+ .stabs "warning: strcat() is almost always misused, consider using strlcat()",30,0,0,0
+ .stabs "_strcat",1,0,0,0
+#NO_APP
+
#if defined(LIBC_SCCS)
.text
.asciz "$OpenBSD: strcat.S,v 1.2 1996/08/19 08:13:12 tholo Exp $"
Index: lib/libc/arch/i386/string/strcpy.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/i386/string/strcpy.S,v
retrieving revision 1.2
diff -u -r1.2 strcpy.S
--- lib/libc/arch/i386/string/strcpy.S 19 Aug 1996 08:13:17 -0000 1.2
+++ lib/libc/arch/i386/string/strcpy.S 28 Apr 2003 05:37:57 -0000
@@ -5,6 +5,11 @@
#include <machine/asm.h>
+#APP
+ .stabs "warning: strcpy() is almost always misused, consider using strlcpy()",30,0,0,0
+ .stabs "_strcpy",1,0,0,0
+#NO_APP
+
#if defined(LIBC_SCCS)
.text
.asciz "$OpenBSD: strcpy.S,v 1.2 1996/08/19 08:13:17 tholo Exp $"
Index: lib/libc/arch/m68k/string/strcat.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/m68k/string/strcat.S,v
retrieving revision 1.2
diff -u -r1.2 strcat.S
--- lib/libc/arch/m68k/string/strcat.S 19 Aug 1996 08:15:18 -0000 1.2
+++ lib/libc/arch/m68k/string/strcat.S 17 Apr 2003 03:49:58 -0000
@@ -37,6 +37,11 @@
#include "DEFS.h"
+#APP
+ .stabs "warning: strcat() is almost always misused, consider using strlcat()",30,0,0,0
+ .stabs "_strcat",1,0,0,0
+#NO_APP
+
#if defined(LIBC_SCCS)
.text
.asciz "$OpenBSD: strcat.S,v 1.2 1996/08/19 08:15:18 tholo Exp $"
Index: lib/libc/arch/m68k/string/strcpy.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/m68k/string/strcpy.S,v
retrieving revision 1.3
diff -u -r1.3 strcpy.S
--- lib/libc/arch/m68k/string/strcpy.S 19 Aug 1996 08:15:22 -0000 1.3
+++ lib/libc/arch/m68k/string/strcpy.S 17 Apr 2003 03:50:07 -0000
@@ -37,6 +37,11 @@
#include "DEFS.h"
+#APP
+ .stabs "warning: strcpy() is almost always misused, consider using strlcpy()",30,0,0,0
+ .stabs "_strcpy",1,0,0,0
+#NO_APP
+
#if defined(LIBC_SCCS)
.text
.asciz "$OpenBSD: strcpy.S,v 1.3 1996/08/19 08:15:22 tholo Exp $"
Index: lib/libc/stdio/sprintf.c
===================================================================
RCS file: /cvs/src/lib/libc/stdio/sprintf.c,v
retrieving revision 1.5
diff -u -r1.5 sprintf.c
--- lib/libc/stdio/sprintf.c 19 Feb 2002 19:39:37 -0000 1.5
+++ lib/libc/stdio/sprintf.c 16 Apr 2003 02:22:53 -0000
@@ -43,6 +43,8 @@
#include <limits.h>
#include "local.h"
+__warn_references(sprintf, "warning: sprintf() is often misused, please use snprintf()");
+
int
sprintf(char *str, char const *fmt, ...)
{
Index: lib/libc/stdio/vsprintf.c
===================================================================
RCS file: /cvs/src/lib/libc/stdio/vsprintf.c,v
retrieving revision 1.4
diff -u -r1.4 vsprintf.c
--- lib/libc/stdio/vsprintf.c 9 Jul 2001 06:57:45 -0000 1.4
+++ lib/libc/stdio/vsprintf.c 7 May 2003 22:36:47 -0000
@@ -41,6 +41,9 @@
#include <stdio.h>
#include <limits.h>
+__warn_references(vsprintf,
+ "warning: vsprintf() is often misused, please use vsnprintf()");
+
int
vsprintf(str, fmt, ap)
char *str;
Index: lib/libc/string/strcat.c
===================================================================
RCS file: /cvs/src/lib/libc/string/strcat.c,v
retrieving revision 1.4
diff -u -r1.4 strcat.c
--- lib/libc/string/strcat.c 19 Aug 1996 08:34:10 -0000 1.4
+++ lib/libc/string/strcat.c 16 Apr 2003 02:22:44 -0000
@@ -41,6 +41,8 @@
#include <lib/libkern/libkern.h>
#endif
+__warn_references(strcat, "warning: strcat() is almost always misused, please use strlcat()");
+
char *
strcat(s, append)
register char *s;
Index: lib/libc/string/strcpy.c
===================================================================
RCS file: /cvs/src/lib/libc/string/strcpy.c,v
retrieving revision 1.4
diff -u -r1.4 strcpy.c
--- lib/libc/string/strcpy.c 19 Aug 1996 08:34:14 -0000 1.4
+++ lib/libc/string/strcpy.c 16 Apr 2003 02:22:37 -0000
@@ -41,6 +41,8 @@
#include <lib/libkern/libkern.h>
#endif
+__warn_references(strcpy, "warning: strcpy() is almost always misused, please use strlcpy()");
+
char *
strcpy(to, from)
register char *to;