* Getting the device media now actually works as intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39757 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -921,8 +921,11 @@ interface_protocol_control(net_datalink_protocol* _protocol, int32 option,
|
|||||||
case SIOCGIFMEDIA:
|
case SIOCGIFMEDIA:
|
||||||
{
|
{
|
||||||
// get media
|
// get media
|
||||||
|
if (length < sizeof(ifmediareq))
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
|
||||||
struct ifmediareq request;
|
struct ifmediareq request;
|
||||||
if (user_memcpy(&request, argument, IF_NAMESIZE) != B_OK)
|
if (user_memcpy(&request, argument, sizeof(ifmediareq)) != B_OK)
|
||||||
return B_BAD_ADDRESS;
|
return B_BAD_ADDRESS;
|
||||||
|
|
||||||
// TODO: see above.
|
// TODO: see above.
|
||||||
@@ -930,7 +933,8 @@ interface_protocol_control(net_datalink_protocol* _protocol, int32 option,
|
|||||||
SIOCGIFMEDIA, &request,
|
SIOCGIFMEDIA, &request,
|
||||||
sizeof(struct ifmediareq)) != B_OK) {
|
sizeof(struct ifmediareq)) != B_OK) {
|
||||||
memset(&request, 0, sizeof(struct ifmediareq));
|
memset(&request, 0, sizeof(struct ifmediareq));
|
||||||
request.ifm_current = interface->device->media;
|
request.ifm_active = request.ifm_current
|
||||||
|
= interface->device->media;
|
||||||
}
|
}
|
||||||
|
|
||||||
return user_memcpy(argument, &request, sizeof(struct ifmediareq));
|
return user_memcpy(argument, &request, sizeof(struct ifmediareq));
|
||||||
|
|||||||
Reference in New Issue
Block a user