]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't crash if the user explicitly specifies a vector algorithm that isn't milenage
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 8 Feb 2022 23:06:59 +0000 (18:06 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 8 Feb 2022 23:07:13 +0000 (18:07 -0500)
src/lib/eap_aka_sim/vector.c

index 3d899fd9d1935830aa9e9319641690622159b697..c8d3c03377916841221a8d703135df5d8c9ce552 100644 (file)
@@ -80,7 +80,7 @@ static int vector_gsm_from_ki(request_t *request, fr_pair_list_t *vps, int idx,
 {
        fr_pair_t       *ki_vp, *version_vp;
        uint8_t         opc_buff[MILENAGE_OPC_SIZE];
-       uint8_t const   *opc_p;
+       uint8_t const   *opc_p = NULL;
        uint32_t        version;
        unsigned int    i;
 
@@ -168,7 +168,7 @@ static int vector_gsm_from_ki(request_t *request, fr_pair_list_t *vps, int idx,
         *      Store for completeness...
         */
        memcpy(keys->auc.ki, ki_vp->vp_octets, sizeof(keys->auc.ki));
-       memcpy(keys->auc.opc, opc_p, sizeof(keys->auc.opc));
+       if (opc_p) memcpy(keys->auc.opc, opc_p, sizeof(keys->auc.opc));
        keys->vector_src = AKA_SIM_VECTOR_SRC_KI;
 
        return 0;