Reason:

src/lib/radius.c

static VALUE_PAIR *rad_vp2tlv(VALUE_PAIR *vps)

{

……

                               end = vp2data(NULL, NULL, NULL, vp, ptr + 2,

                           tlv->vp_tlv + tlv->length - ptr);

……

}

 

static uint8_t *vp2data(const RADIUS_PACKET *packet,

                                              const RADIUS_PACKET *original,

                                              const char *secret, const
VALUE_PAIR *vp, uint8_t *ptr,

                                              size_t room)

{

……

               if (packet) switch (vp->flags.encrypt) {   // packet is NULL,
data isn't copyed.

                     case FLAG_ENCRYPT_USER_PASSWORD:

……

                      default:

                               /*

                               *            Just copy the data over

                               */

                               memcpy(ptr, data, len);

                               break;

               } /* switch over encryption flags */

 

               return ptr + len;

}

patched:

diff old/src/lib/radius.c new/src/lib/radius.c 

799a800,801

>       else

>               memcpy(ptr, data, len);

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to