diff options
Diffstat (limited to 'biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp')
-rw-r--r-- | biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp index 7ba84bdf9..16197d793 100644 --- a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp +++ b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp @@ -23,6 +23,7 @@ #include "BiometricsFingerprint.h" #include <inttypes.h> +#include <unistd.h> namespace android { namespace hardware { @@ -187,7 +188,12 @@ Return<RequestStatus> BiometricsFingerprint::setActiveGroup(uint32_t gid, const hidl_string& storePath) { if (storePath.size() >= PATH_MAX || storePath.size() <= 0) { ALOGE("Bad path length: %zd", storePath.size()); + return RequestStatus::SYS_EINVAL; } + if (access(storePath.c_str(), W_OK)) { + return RequestStatus::SYS_EINVAL; + } + return ErrorFilter(mDevice->set_active_group(mDevice, gid, storePath.c_str())); } |