summaryrefslogtreecommitdiff
path: root/lib/libc/stdio/gets.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/stdio/gets.c')
-rw-r--r--lib/libc/stdio/gets.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/stdio/gets.c b/lib/libc/stdio/gets.c
index 08a6c3c185e4..e24727150de0 100644
--- a/lib/libc/stdio/gets.c
+++ b/lib/libc/stdio/gets.c
@@ -41,6 +41,7 @@ static char sccsid[] = "@(#)gets.c 8.1 (Berkeley) 6/4/93";
__FBSDID("$FreeBSD$");
#include "namespace.h"
+#include <unistd.h>
#include <stdio.h>
#include <sys/cdefs.h>
#include "un-namespace.h"
@@ -55,9 +56,16 @@ gets(buf)
{
int c;
char *s;
+ static int warned;
+ static char w[] =
+ "warning: this program uses gets(), which is unsafe.\n";
FLOCKFILE(stdin);
ORIENT(stdin, -1);
+ if (!warned) {
+ (void) _write(STDERR_FILENO, w, sizeof(w) - 1);
+ warned = 1;
+ }
for (s = buf; (c = __sgetc(stdin)) != '\n';)
if (c == EOF)
if (s == buf) {