GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


man:gets

GETS(3) Linux Programmer's Manual GETS(3)

NAME

     gets - get a string from standard input (DEPRECATED)

SYNOPSIS

     #include <stdio.h>
     char *gets(char *s);

DESCRIPTION

     Never use this function.
     gets()  reads  a  line from stdin into the buffer pointed to by s until
     either a terminating newline or EOF, which it replaces with a null byte
     ('\0').  No check for buffer overrun is performed (see BUGS below).

RETURN VALUE

     gets()  returns  s  on  success,  and NULL on error or when end of file
     occurs while no characters have been read.  However, given the lack  of
     buffer  overrun  checking, there can be no guarantees that the function
     will even return.

ATTRIBUTES

     For  an  explanation  of  the  terms  used   in   this   section,   see
     attributes(7).
     +----------+---------------+---------+
     |Interface | Attribute     | Value   |
     +----------+---------------+---------+
     |gets()    | Thread safety | MT-Safe |
     +----------+---------------+---------+

CONFORMING TO

     C89, C99, POSIX.1-2001.
     LSB deprecates gets().  POSIX.1-2008 marks gets() obsolescent.  ISO C11
     removes the specification of gets() from the C language, and since ver-
     sion  2.16, glibc header files don't expose the function declaration if
     the _ISOC11_SOURCE feature test macro is defined.

BUGS

     Never use gets().  Because it is impossible to tell without knowing the
     data  in  advance  how  many  characters  gets() will read, and because
     gets() will continue to store characters past the end of the buffer, it
     is  extremely  dangerous  to  use.   It has been used to break computer
     security.  Use fgets() instead.
     For more information, see CWE-242 (aka  "Use  of  Inherently  Dangerous
     Function") at http://cwe.mitre.org/data/definitions/242.html

SEE ALSO

     read(2), write(2), ferror(3), fgetc(3), fgets(3), fgetwc(3), fgetws(3),
     fopen(3),  fread(3),  fseek(3),   getline(3),   getwchar(3),   puts(3),
     scanf(3), ungetwc(3), unlocked_stdio(3), feature_test_macros(7)

COLOPHON

     This  page  is  part of release 4.16 of the Linux man-pages project.  A
     description of the project, information about reporting bugs,  and  the
     latest     version     of     this    page,    can    be    found    at
     https://www.kernel.org/doc/man-pages/.

GNU 2017-09-15 GETS(3)

/data/webs/external/dokuwiki/data/pages/man/gets.txt · Last modified: 2019/05/17 09:32 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki