From 6a59242703b579001588a6296621ce7fece56ec5 Mon Sep 17 00:00:00 2001 From: Chris Knight Date: Thu, 26 Mar 2020 06:38:52 -0700 Subject: [PATCH] OS_SelectSingle() also needs null pointer check --- src/os/shared/osapi-select.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/os/shared/osapi-select.c b/src/os/shared/osapi-select.c index 81c708d77..6c33ac70d 100644 --- a/src/os/shared/osapi-select.c +++ b/src/os/shared/osapi-select.c @@ -59,11 +59,18 @@ int32 OS_SelectSingle(uint32 objid, uint32 *StateFlags, int32 msecs) uint32 local_id; OS_common_record_t *record; - return_code = OS_ObjectIdGetById(OS_LOCK_MODE_REFCOUNT, OS_OBJECT_TYPE_OS_STREAM, objid, &local_id, &record); - if (return_code == OS_SUCCESS) + if(StateFlags == NULL) { - return_code = OS_SelectSingle_Impl(local_id, StateFlags, msecs); - OS_ObjectIdRefcountDecr(record); + return_code = OS_INVALID_POINTER; + } + else + { + return_code = OS_ObjectIdGetById(OS_LOCK_MODE_REFCOUNT, OS_OBJECT_TYPE_OS_STREAM, objid, &local_id, &record); + if (return_code == OS_SUCCESS) + { + return_code = OS_SelectSingle_Impl(local_id, StateFlags, msecs); + OS_ObjectIdRefcountDecr(record); + } } return return_code;