403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt//corecrt_memcpy_s.h
//
// corecrt_memcpy_s.h
//
//      Copyright (c) Microsoft Corporation. All rights reserved.
//
// Inline definitions of memcpy_s and memmove_s
//
#pragma once

#include <corecrt.h>
#include <errno.h>
#include <vcruntime_string.h>

#pragma warning(push)
#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
_UCRT_DISABLE_CLANG_WARNINGS

_CRT_BEGIN_C_HEADER

#ifndef _CRT_MEMCPY_S_INLINE
    #define _CRT_MEMCPY_S_INLINE static __inline
#endif

#define _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(expr, errorcode)                 \
    {                                                                          \
        int _Expr_val=!!(expr);                                                \
        if (!(_Expr_val))                                                      \
        {                                                                      \
            errno = errorcode;                                                 \
            _invalid_parameter_noinfo();                                       \
            return errorcode;                                                  \
        }                                                                      \
    }

#if !defined RC_INVOKED && !defined __midl && __STDC_WANT_SECURE_LIB__

    _Success_(return == 0)
    _Check_return_opt_
    _CRT_MEMCPY_S_INLINE errno_t __CRTDECL memcpy_s(
        _Out_writes_bytes_to_opt_(_DestinationSize, _SourceSize) void*       const _Destination,
        _In_                                                     rsize_t     const _DestinationSize,
        _In_reads_bytes_opt_(_SourceSize)                        void const* const _Source,
        _In_                                                     rsize_t     const _SourceSize
        )
    {
        if (_SourceSize == 0)
        {
            return 0;
        }

        _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
        if (_Source == NULL || _DestinationSize < _SourceSize)
        {
            memset(_Destination, 0, _DestinationSize);

            _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL,                 EINVAL);
            _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);

            // Unreachable, but required to suppress /analyze warnings:
            return EINVAL;
        }
        memcpy(_Destination, _Source, _SourceSize);
        return 0;
    }

    _Check_return_wat_
    _CRT_MEMCPY_S_INLINE errno_t __CRTDECL memmove_s(
        _Out_writes_bytes_to_opt_(_DestinationSize, _SourceSize) void*       const _Destination,
        _In_                                                     rsize_t     const _DestinationSize,
        _In_reads_bytes_opt_(_SourceSize)                        void const* const _Source,
        _In_                                                     rsize_t     const _SourceSize
        )
    {
        if (_SourceSize == 0)
        {
            return 0;
        }

        _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL,            EINVAL);
        _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL,                 EINVAL);
        _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);

        memmove(_Destination, _Source, _SourceSize);
        return 0;
    }

#endif

#undef _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE

_UCRT_RESTORE_CLANG_WARNINGS
#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
_CRT_END_C_HEADER

Youez - 2016 - github.com/yon3zu
LinuXploit