The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

fmtcheck (3)
  • >> fmtcheck (3) ( FreeBSD man: Библиотечные вызовы )

  • BSD mandoc
     

    NAME

    fmtcheck
    
     - sanitizes user-supplied
    
    printf(3)Ns-style
    
    
    format string
     
    

    LIBRARY

    Lb libc
    
     
    

    SYNOPSIS

       #include <stdio.h>
    const char * fmtcheck (const char *fmt_suspect const char *fmt_default);
     

    DESCRIPTION

    The fmtcheck ();
    scans Fa fmt_suspect and Fa fmt_default to determine if Fa fmt_suspect will consume the same argument types as Fa fmt_default and to ensure that Fa fmt_suspect is a valid format string.

    The printf(3) family of functions cannot verify the types of arguments that they are passed at run-time. In some cases, like catgets(3), it is useful or necessary to use a user-supplied format string with no guarantee that the format string matches the specified arguments.

    The fmtcheck ();
    was designed to be used in these cases, as in:

    printf(fmtcheck(user_format, standard_format), arg1, arg2);
    

    In the check, field widths, fillers, precisions, etc. are ignored (unless the field width or precision is an asterisk `*' instead of a digit string). Also, any text other than the format specifiers is completely ignored.  

    RETURN VALUES

    If Fa fmt_suspect is a valid format and consumes the same argument types as Fa fmt_default , then the fmtcheck ();
    will return Fa fmt_suspect . Otherwise, it will return Fa fmt_default .  

    SECURITY CONSIDERATIONS

    Note that the formats may be quite different as long as they accept the same arguments. For example, Qq Li %p %o %30s %#llx %-10.*e %n is compatible with Qq Li This number %lu %d%% and string %s has %qd numbers and %.*g floats (%n) . However, Qq Li %o is not equivalent to Qq Li %lx because the first requires an integer and the second requires a long.  

    SEE ALSO

    printf(3)  

    BUGS

    The fmtcheck ();
    function does not understand all of the conversions that printf(3) does.


     

    Index

    NAME
    LIBRARY
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    SECURITY CONSIDERATIONS
    SEE ALSO
    BUGS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру