From c11bf14d6c9ae4436fd2f57cf1af2c7f6247459b Mon Sep 17 00:00:00 2001 From: hui1975 Date: Wed, 2 Nov 2022 11:50:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=9Bsensor=E8=B4=A8=E9=87=8F=E5=8A=A0?= =?UTF-8?q?=E5=9B=BA=E4=BB=A3=E7=A0=81=E6=A3=80=E8=A7=86=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hui1975 Change-Id: I47de3421fc5205b0d3a97a2f03e0295836c590b8 --- services/sensor/src/sensor_service_stub.cpp | 40 +++++++++++++++++---- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/services/sensor/src/sensor_service_stub.cpp b/services/sensor/src/sensor_service_stub.cpp index bed7a011..554843f2 100644 --- a/services/sensor/src/sensor_service_stub.cpp +++ b/services/sensor/src/sensor_service_stub.cpp @@ -77,7 +77,11 @@ int32_t SensorServiceStub::OnRemoteRequest(uint32_t code, MessageParcel &data, M ErrCode SensorServiceStub::SensorEnableInner(MessageParcel &data, MessageParcel &reply) { (void)reply; - uint32_t sensorId = data.ReadUint32(); + uint32_t sensorId; + if (!data.ReadUint32(sensorId)) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } PermissionUtil &permissionUtil = PermissionUtil::GetInstance(); int32_t ret = permissionUtil.CheckSensorPermission(GetCallingTokenID(), sensorId); if (ret != PERMISSION_GRANTED) { @@ -86,13 +90,23 @@ ErrCode SensorServiceStub::SensorEnableInner(MessageParcel &data, MessageParcel SEN_HILOGE("sensorId:%{public}u grant failed,result:%{public}d", sensorId, ret); return PERMISSION_DENIED; } - return EnableSensor(sensorId, data.ReadInt64(), data.ReadInt64()); + int64_t samplingPeriodNs; + int64_t maxReportDelayNs; + if ((!data.ReadInt64(samplingPeriodNs)) || (!data.ReadInt64(maxReportDelayNs))) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } + return EnableSensor(sensorId, samplingPeriodNs, maxReportDelayNs); } ErrCode SensorServiceStub::SensorDisableInner(MessageParcel &data, MessageParcel &reply) { (void)reply; - uint32_t sensorId = data.ReadUint32(); + uint32_t sensorId; + if (!data.ReadUint32(sensorId)) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } PermissionUtil &permissionUtil = PermissionUtil::GetInstance(); int32_t ret = permissionUtil.CheckSensorPermission(GetCallingTokenID(), sensorId); if (ret != PERMISSION_GRANTED) { @@ -107,7 +121,11 @@ ErrCode SensorServiceStub::SensorDisableInner(MessageParcel &data, MessageParcel ErrCode SensorServiceStub::GetSensorStateInner(MessageParcel &data, MessageParcel &reply) { (void)reply; - uint32_t sensorId = data.ReadUint32(); + uint32_t sensorId; + if (!data.ReadUint32(sensorId)) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } PermissionUtil &permissionUtil = PermissionUtil::GetInstance(); int32_t ret = permissionUtil.CheckSensorPermission(GetCallingTokenID(), sensorId); if (ret != PERMISSION_GRANTED) { @@ -122,7 +140,11 @@ ErrCode SensorServiceStub::GetSensorStateInner(MessageParcel &data, MessageParce ErrCode SensorServiceStub::RunCommandInner(MessageParcel &data, MessageParcel &reply) { (void)reply; - uint32_t sensorId = data.ReadUint32(); + uint32_t sensorId; + if (!data.ReadUint32(sensorId)) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } PermissionUtil &permissionUtil = PermissionUtil::GetInstance(); int32_t ret = permissionUtil.CheckSensorPermission(GetCallingTokenID(), sensorId); if (ret != PERMISSION_GRANTED) { @@ -131,7 +153,13 @@ ErrCode SensorServiceStub::RunCommandInner(MessageParcel &data, MessageParcel &r SEN_HILOGE("sensorId:%{public}u grant failed,result:%{public}d", sensorId, ret); return PERMISSION_DENIED; } - return RunCommand(sensorId, data.ReadUint32(), data.ReadUint32()); + uint32_t cmdType; + uint32_t params; + if ((!data.ReadUint32(cmdType)) || (!data.ReadUint32(params))) { + SEN_HILOGE("Parcel read failed"); + return ERROR; + } + return RunCommand(sensorId, cmdType, params); } ErrCode SensorServiceStub::GetAllSensorsInner(MessageParcel &data, MessageParcel &reply) -- Gitee