am 2cd3490d
: Merge "Take ownership of various simple syscall wrappers."
* commit '2cd3490d7bdb18e5051a3cc66e7d03635bbcbeaf': Take ownership of various simple syscall wrappers.
This commit is contained in:
commit
02bd494dee
@ -49,7 +49,6 @@ libc_common_src_files := \
|
|||||||
bionic/fts.c \
|
bionic/fts.c \
|
||||||
bionic/getdtablesize.c \
|
bionic/getdtablesize.c \
|
||||||
bionic/gethostname.c \
|
bionic/gethostname.c \
|
||||||
bionic/getpgrp.c \
|
|
||||||
bionic/getpriority.c \
|
bionic/getpriority.c \
|
||||||
bionic/getpt.c \
|
bionic/getpt.c \
|
||||||
bionic/if_indextoname.c \
|
bionic/if_indextoname.c \
|
||||||
@ -64,12 +63,9 @@ libc_common_src_files := \
|
|||||||
bionic/ptsname.c \
|
bionic/ptsname.c \
|
||||||
bionic/ptsname_r.c \
|
bionic/ptsname_r.c \
|
||||||
bionic/pututline.c \
|
bionic/pututline.c \
|
||||||
bionic/recv.c \
|
|
||||||
bionic/sched_cpualloc.c \
|
bionic/sched_cpualloc.c \
|
||||||
bionic/sched_cpucount.c \
|
bionic/sched_cpucount.c \
|
||||||
bionic/semaphore.c \
|
bionic/semaphore.c \
|
||||||
bionic/send.c \
|
|
||||||
bionic/setpgrp.c \
|
|
||||||
bionic/sigblock.c \
|
bionic/sigblock.c \
|
||||||
bionic/siginterrupt.c \
|
bionic/siginterrupt.c \
|
||||||
bionic/sigsetmask.c \
|
bionic/sigsetmask.c \
|
||||||
@ -80,7 +76,6 @@ libc_common_src_files := \
|
|||||||
bionic/tcgetpgrp.c \
|
bionic/tcgetpgrp.c \
|
||||||
bionic/tcsetpgrp.c \
|
bionic/tcsetpgrp.c \
|
||||||
bionic/time64.c \
|
bionic/time64.c \
|
||||||
bionic/umount.c \
|
|
||||||
bionic/unlockpt.c \
|
bionic/unlockpt.c \
|
||||||
stdio/asprintf.c \
|
stdio/asprintf.c \
|
||||||
stdio/findfp.c \
|
stdio/findfp.c \
|
||||||
@ -145,6 +140,7 @@ libc_bionic_src_files := \
|
|||||||
bionic/futimens.cpp \
|
bionic/futimens.cpp \
|
||||||
bionic/getauxval.cpp \
|
bionic/getauxval.cpp \
|
||||||
bionic/getcwd.cpp \
|
bionic/getcwd.cpp \
|
||||||
|
bionic/getpgrp.cpp \
|
||||||
bionic/inotify_init.cpp \
|
bionic/inotify_init.cpp \
|
||||||
bionic/lchown.cpp \
|
bionic/lchown.cpp \
|
||||||
bionic/lfs64_support.cpp \
|
bionic/lfs64_support.cpp \
|
||||||
@ -186,15 +182,18 @@ libc_bionic_src_files := \
|
|||||||
bionic/raise.cpp \
|
bionic/raise.cpp \
|
||||||
bionic/readlink.cpp \
|
bionic/readlink.cpp \
|
||||||
bionic/reboot.cpp \
|
bionic/reboot.cpp \
|
||||||
|
bionic/recv.cpp \
|
||||||
bionic/rename.cpp \
|
bionic/rename.cpp \
|
||||||
bionic/rmdir.cpp \
|
bionic/rmdir.cpp \
|
||||||
bionic/sbrk.cpp \
|
bionic/sbrk.cpp \
|
||||||
bionic/scandir.cpp \
|
bionic/scandir.cpp \
|
||||||
bionic/sched_getaffinity.cpp \
|
bionic/sched_getaffinity.cpp \
|
||||||
bionic/sched_getcpu.cpp \
|
bionic/sched_getcpu.cpp \
|
||||||
|
bionic/send.cpp \
|
||||||
bionic/setegid.cpp \
|
bionic/setegid.cpp \
|
||||||
bionic/__set_errno.cpp \
|
bionic/__set_errno.cpp \
|
||||||
bionic/seteuid.cpp \
|
bionic/seteuid.cpp \
|
||||||
|
bionic/setpgrp.cpp \
|
||||||
bionic/setlocale.cpp \
|
bionic/setlocale.cpp \
|
||||||
bionic/sigaction.cpp \
|
bionic/sigaction.cpp \
|
||||||
bionic/sigaddset.cpp \
|
bionic/sigaddset.cpp \
|
||||||
@ -222,6 +221,7 @@ libc_bionic_src_files := \
|
|||||||
bionic/tdestroy.cpp \
|
bionic/tdestroy.cpp \
|
||||||
bionic/thread_atexit.cpp \
|
bionic/thread_atexit.cpp \
|
||||||
bionic/tmpfile.cpp \
|
bionic/tmpfile.cpp \
|
||||||
|
bionic/umount.cpp \
|
||||||
bionic/unlink.cpp \
|
bionic/unlink.cpp \
|
||||||
bionic/utimes.cpp \
|
bionic/utimes.cpp \
|
||||||
bionic/wait.cpp \
|
bionic/wait.cpp \
|
||||||
|
@ -25,9 +25,9 @@
|
|||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
pid_t getpgrp(void)
|
pid_t getpgrp() {
|
||||||
{
|
|
||||||
return getpgid(0);
|
return getpgid(0);
|
||||||
}
|
}
|
@ -25,10 +25,9 @@
|
|||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
#include <stddef.h>
|
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|
||||||
ssize_t recv(int socket, void *buf, size_t buflen, unsigned int flags)
|
ssize_t recv(int socket, void *buf, size_t len, int flags) {
|
||||||
{
|
return recvfrom(socket, buf, len, flags, NULL, 0);
|
||||||
return recvfrom(socket, buf, buflen, flags, NULL, 0);
|
|
||||||
}
|
}
|
@ -1,34 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2008 The Android Open Source Project
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in
|
|
||||||
* the documentation and/or other materials provided with the
|
|
||||||
* distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
||||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
||||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
||||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
* SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
|
|
||||||
ssize_t send(int socket, const void *buf, size_t buflen, unsigned int flags)
|
|
||||||
{
|
|
||||||
return (ssize_t) sendto(socket, buf, buflen, flags, NULL, 0);
|
|
||||||
}
|
|
33
libc/bionic/send.cpp
Normal file
33
libc/bionic/send.cpp
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2008 The Android Open Source Project
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
ssize_t send(int socket, const void* buf, size_t len, int flags) {
|
||||||
|
return sendto(socket, buf, len, flags, NULL, 0);
|
||||||
|
}
|
@ -25,9 +25,9 @@
|
|||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int setpgrp(void)
|
int setpgrp() {
|
||||||
{
|
return setpgid(0, 0);
|
||||||
return setpgid(0,0);
|
|
||||||
}
|
}
|
@ -25,11 +25,9 @@
|
|||||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
extern int umount2(const char*, int);
|
#include <sys/mount.h>
|
||||||
|
|
||||||
int umount(const char* dir)
|
int umount(const char* target) {
|
||||||
{
|
return umount2(target, 0);
|
||||||
return umount2(dir, 0);
|
|
||||||
}
|
}
|
@ -295,37 +295,37 @@ __socketcall int getsockname(int, struct sockaddr*, socklen_t*);
|
|||||||
__socketcall int getsockopt(int, int, int, void*, socklen_t*);
|
__socketcall int getsockopt(int, int, int, void*, socklen_t*);
|
||||||
__socketcall int listen(int, int);
|
__socketcall int listen(int, int);
|
||||||
__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*);
|
__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*);
|
||||||
__socketcall int recvmsg(int, struct msghdr*, unsigned int);
|
__socketcall int recvmsg(int, struct msghdr*, int);
|
||||||
__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int);
|
__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int);
|
||||||
__socketcall int sendmsg(int, const struct msghdr*, unsigned int);
|
__socketcall int sendmsg(int, const struct msghdr*, int);
|
||||||
__socketcall int setsockopt(int, int, int, const void*, socklen_t);
|
__socketcall int setsockopt(int, int, int, const void*, socklen_t);
|
||||||
__socketcall int shutdown(int, int);
|
__socketcall int shutdown(int, int);
|
||||||
__socketcall int socket(int, int, int);
|
__socketcall int socket(int, int, int);
|
||||||
__socketcall int socketpair(int, int, int, int*);
|
__socketcall int socketpair(int, int, int, int*);
|
||||||
|
|
||||||
extern ssize_t send(int, const void*, size_t, unsigned int);
|
extern ssize_t send(int, const void*, size_t, int);
|
||||||
extern ssize_t recv(int, void*, size_t, unsigned int);
|
extern ssize_t recv(int, void*, size_t, int);
|
||||||
|
|
||||||
__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t);
|
__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t);
|
||||||
__socketcall ssize_t recvfrom(int, void*, size_t, unsigned int, const struct sockaddr*, socklen_t*);
|
__socketcall ssize_t recvfrom(int, void*, size_t, int, const struct sockaddr*, socklen_t*);
|
||||||
|
|
||||||
#if defined(__BIONIC_FORTIFY)
|
#if defined(__BIONIC_FORTIFY)
|
||||||
__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer");
|
__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer");
|
||||||
extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, unsigned int, const struct sockaddr*, socklen_t*);
|
extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, const struct sockaddr*, socklen_t*);
|
||||||
extern ssize_t __recvfrom_real(int, void*, size_t, unsigned int, const struct sockaddr*, socklen_t*)
|
extern ssize_t __recvfrom_real(int, void*, size_t, int, const struct sockaddr*, socklen_t*)
|
||||||
__asm__(__USER_LABEL_PREFIX__ "recvfrom");
|
__asm__(__USER_LABEL_PREFIX__ "recvfrom");
|
||||||
|
|
||||||
__BIONIC_FORTIFY_INLINE
|
__BIONIC_FORTIFY_INLINE
|
||||||
ssize_t recvfrom(int fd, void* buf, size_t len, unsigned int flags, const struct sockaddr* src_addr, socklen_t* addrlen) {
|
ssize_t recvfrom(int fd, void* buf, size_t len, int flags, const struct sockaddr* src_addr, socklen_t* addr_len) {
|
||||||
size_t bos = __bos0(buf);
|
size_t bos = __bos0(buf);
|
||||||
|
|
||||||
#if !defined(__clang__)
|
#if !defined(__clang__)
|
||||||
if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
|
if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
|
||||||
return __recvfrom_real(fd, buf, len, flags, src_addr, addrlen);
|
return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_constant_p(len) && (len <= bos)) {
|
if (__builtin_constant_p(len) && (len <= bos)) {
|
||||||
return __recvfrom_real(fd, buf, len, flags, src_addr, addrlen);
|
return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_constant_p(len) && (len > bos)) {
|
if (__builtin_constant_p(len) && (len > bos)) {
|
||||||
@ -333,12 +333,12 @@ ssize_t recvfrom(int fd, void* buf, size_t len, unsigned int flags, const struct
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addrlen);
|
return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
__BIONIC_FORTIFY_INLINE
|
__BIONIC_FORTIFY_INLINE
|
||||||
ssize_t recv(int socket, void* buf, size_t buflen, unsigned int flags) {
|
ssize_t recv(int socket, void* buf, size_t len, int flags) {
|
||||||
return recvfrom(socket, buf, buflen, flags, NULL, 0);
|
return recvfrom(socket, buf, len, flags, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* __BIONIC_FORTIFY */
|
#endif /* __BIONIC_FORTIFY */
|
||||||
|
Loading…
Reference in New Issue
Block a user