Snap for 4511918 from 53ad95ded82391507a7c516ff317385becdb2025 to pi-release

Change-Id: Icf1fb91bc4823e01eece288532fe3742218355ae
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index efc3f72..8377308 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -757,6 +757,7 @@
   uint8_t * carrierKey;               /* Public Key from the Carrier used to encrypt the
                                        * IMSI/IMPI.
                                        */
+  int32_t carrierKeyLength;            /* Length of the Public Key. */
   char * keyIdentifier;               /* The keyIdentifier Attribute value pair that helps
                                        * a server locate the private key to decrypt the
                                        * permanent identity.
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 5cb65d1..9b9b641 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -2806,9 +2806,9 @@
         memsetAndFreeStrings(2, imsiEncryption.mnc, imsiEncryption.mcc);
         return Void();
     }
-    int32_t lSize = data.carrierKey.size();
-    imsiEncryption.carrierKey = new uint8_t[lSize];
-    memcpy(imsiEncryption.carrierKey, data.carrierKey.data(), lSize);
+    imsiEncryption.carrierKeyLength = data.carrierKey.size();
+    imsiEncryption.carrierKey = new uint8_t[imsiEncryption.carrierKeyLength];
+    memcpy(imsiEncryption.carrierKey, data.carrierKey.data(), imsiEncryption.carrierKeyLength);
     imsiEncryption.expirationTime = data.expirationTime;
     CALL_ONREQUEST(pRI->pCI->requestNumber, &imsiEncryption,
             sizeof(RIL_CarrierInfoForImsiEncryption), pRI, mSlotId);