From 1bff1feed74ab37e4f8a5a3e881f3ce90c68d5b0 Mon Sep 17 00:00:00 2001 From: Vladislav Khmelevsky Date: Sun, 26 Nov 2023 18:14:58 +0400 Subject: [PATCH] Return function unsupported error from C_GetObjectSize Currently C_GetObjectSize is unsupported and always returns pulSize = CK_UNAVAILABLE_INFORMATION and CKR_OK return code. But since the implementation is obviously not complit we should rather return CKR_FUNCTION_NOT_SUPPORTED instead of CKR_OK --- src/lib/SoftHSM.cpp | 2 +- src/lib/test/ObjectTests.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/SoftHSM.cpp b/src/lib/SoftHSM.cpp index 02c0f95ec..d1149fa28 100644 --- a/src/lib/SoftHSM.cpp +++ b/src/lib/SoftHSM.cpp @@ -1829,7 +1829,7 @@ CK_RV SoftHSM::C_GetObjectSize(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObj *pulSize = CK_UNAVAILABLE_INFORMATION; - return CKR_OK; + return CKR_FUNCTION_NOT_SUPPORTED; } // Retrieve the specified attributes for the given object diff --git a/src/lib/test/ObjectTests.cpp b/src/lib/test/ObjectTests.cpp index d851d1ee0..38fb771bc 100644 --- a/src/lib/test/ObjectTests.cpp +++ b/src/lib/test/ObjectTests.cpp @@ -1229,7 +1229,7 @@ void ObjectTests::testGetObjectSize() // Get the object size CK_ULONG objectSize; rv = CRYPTOKI_F_PTR( C_GetObjectSize(hSession, hObject, &objectSize) ); - CPPUNIT_ASSERT(rv == CKR_OK); + CPPUNIT_ASSERT(rv == CKR_FUNCTION_NOT_SUPPORTED); CPPUNIT_ASSERT(objectSize == CK_UNAVAILABLE_INFORMATION); // Close session