projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
901f5e6
)
Correctly handle large attributes
author
Alan T. DeKok
<aland@freeradius.org>
Tue, 5 Jan 2010 11:52:00 +0000
(12:52 +0100)
committer
Alan T. DeKok
<aland@freeradius.org>
Tue, 5 Jan 2010 11:54:01 +0000
(12:54 +0100)
src/modules/frs_vmps/vqp.c
patch
|
blob
|
history
diff --git
a/src/modules/frs_vmps/vqp.c
b/src/modules/frs_vmps/vqp.c
index
44c91b4
..
b28bf69
100644
(file)
--- a/
src/modules/frs_vmps/vqp.c
+++ b/
src/modules/frs_vmps/vqp.c
@@
-381,7
+381,7
@@
RADIUS_PACKET *vqp_recv(int sockfd)
rad_free(&packet);
return NULL;
}
- attrlen = ptr[5];
+ attrlen =
(ptr[4] << 8) |
ptr[5];
ptr += 6 + attrlen;
length -= (6 + attrlen);
}
@@
-514,8
+514,8
@@
int vqp_decode(RADIUS_PACKET *packet)
case PW_TYPE_OCTETS:
case PW_TYPE_STRING:
vp->length = (length > MAX_VMPS_LEN) ? MAX_VMPS_LEN : length;
- memcpy(vp->vp_octets, ptr, length);
- vp->vp_octets[length] = '\0';
+ memcpy(vp->vp_octets, ptr,
vp->
length);
+ vp->vp_octets[
vp->
length] = '\0';
break;
}
ptr += length;