Skip to content

Commit

Permalink
radeon_hd: Sanitize dp_aux messages before use
Browse files Browse the repository at this point in the history
  • Loading branch information
kallisti5 committed Jul 14, 2015
1 parent 7ea1ad1 commit 408e616
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/add-ons/accelerants/radeon_hd/displayport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,8 @@ dpcd_reg_write(uint32 connectorIndex, uint16 address, uint8 value)
__func__, connectorIndex, address, value);

dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = address;
message.buffer = &value;
message.request = DP_AUX_NATIVE_WRITE;
Expand All @@ -251,6 +253,8 @@ dpcd_reg_read(uint32 connectorIndex, uint16 address)
uint8 response[3];

dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = address;
message.buffer = &response;
message.request = DP_AUX_NATIVE_READ;
Expand All @@ -274,6 +278,8 @@ dp_aux_get_i2c_byte(uint32 connectorIndex, uint16 address, uint8* data,
{
uint8 reply[3];
dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = address;
message.buffer = reply;
message.request = DP_AUX_I2C_READ;
Expand Down Expand Up @@ -321,6 +327,8 @@ dp_aux_set_i2c_byte(uint32 connectorIndex, uint16 address, uint8* data,
bool start, bool stop)
{
dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = address;
message.buffer = data;
message.request = DP_AUX_I2C_WRITE;
Expand Down Expand Up @@ -459,6 +467,8 @@ dp_setup_connectors()
dpInfo->auxPin = auxPin;

dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = DP_DPCD_REV;
message.request = DP_AUX_NATIVE_READ;
// TODO: validate
Expand Down Expand Up @@ -490,7 +500,10 @@ bool
dp_get_link_status(uint32 connectorIndex)
{
dp_info* dp = &gConnector[connectorIndex]->dpInfo;

dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.address = DP_LANE_STATUS_0_1;
message.size = DP_LINK_STATUS_SIZE;
message.buffer = dp->linkStatus;
Expand Down Expand Up @@ -563,6 +576,8 @@ dp_update_vs_emph(uint32 connectorIndex)
dp->trainingSet[0], ATOM_TRANSMITTER_ACTION_SETUP_VSEMPH);

dp_aux_msg message;
memset(&message, 0, sizeof(message));

message.request = DP_AUX_NATIVE_WRITE;
message.address = DP_TRAIN_LANE0;
message.buffer = dp->trainingSet;
Expand Down

0 comments on commit 408e616

Please sign in to comment.