pk: minor code fixes

- removing duplicated code
- uninitialized variable usage

Signed-off-by: valerio <valerio.setti@nordicsemi.no>
diff --git a/library/pkwrite.c b/library/pkwrite.c
index 8a08f60..218d0c1 100644
--- a/library/pkwrite.c
+++ b/library/pkwrite.c
@@ -172,13 +172,7 @@
         }
     } else {
         len = pk->pub_raw_len;
-
-        if (*p < start || (size_t) (*p - start) < len) {
-            return MBEDTLS_ERR_ASN1_BUF_TOO_SMALL;
-        }
-
-        memcpy(*p - len, pk->pub_raw, len);
-        *p -= len;
+        memcpy(buf, pk->pub_raw, len);
     }
 
     if (*p < start || (size_t) (*p - start) < len) {
@@ -701,7 +695,7 @@
     int is_ec_opaque = 0;
 #endif /* MBEDTLS_ECP_LIGHT */
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
-    psa_key_type_t opaque_key_type = pk_get_opaque_key_type(key);
+    psa_key_type_t opaque_key_type;
 #endif /* MBEDTLS_USE_PSA_CRYPTO */
 
     if (size == 0) {
@@ -712,6 +706,7 @@
 
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
     if (mbedtls_pk_get_type(key) == MBEDTLS_PK_OPAQUE) {
+        opaque_key_type = pk_get_opaque_key_type(key);
 #if defined(MBEDTLS_RSA_C)
         is_rsa_opaque = PSA_KEY_TYPE_IS_RSA(opaque_key_type);
 #endif /* MBEDTLS_RSA_C */