Export maximum number of fds/ints in a native_handle.
So we can deserialize it consisently and safely. Bug: 120084106 Test: builds Change-Id: I0eafff70d3a7e4d732fe600a0052efb90108208d
This commit is contained in:
parent
9ce034ce8a
commit
02debfa2df
2 changed files with 5 additions and 4 deletions
|
@ -23,6 +23,9 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define NATIVE_HANDLE_MAX_FDS 1024
|
||||
#define NATIVE_HANDLE_MAX_INTS 1024
|
||||
|
||||
/* Declare a char array for use with native_handle_init */
|
||||
#define NATIVE_HANDLE_DECLARE_STORAGE(name, maxFds, maxInts) \
|
||||
alignas(native_handle_t) char name[ \
|
||||
|
|
|
@ -22,9 +22,6 @@
|
|||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static const int kMaxNativeFds = 1024;
|
||||
static const int kMaxNativeInts = 1024;
|
||||
|
||||
native_handle_t* native_handle_init(char* storage, int numFds, int numInts) {
|
||||
if ((uintptr_t) storage % alignof(native_handle_t)) {
|
||||
errno = EINVAL;
|
||||
|
@ -39,7 +36,8 @@ native_handle_t* native_handle_init(char* storage, int numFds, int numInts) {
|
|||
}
|
||||
|
||||
native_handle_t* native_handle_create(int numFds, int numInts) {
|
||||
if (numFds < 0 || numInts < 0 || numFds > kMaxNativeFds || numInts > kMaxNativeInts) {
|
||||
if (numFds < 0 || numInts < 0 || numFds > NATIVE_HANDLE_MAX_FDS ||
|
||||
numInts > NATIVE_HANDLE_MAX_INTS) {
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue