summaryrefslogtreecommitdiffstats
path: root/audio/common/all-versions
diff options
context:
space:
mode:
authorKevin Rocard <krocard@google.com>2018-02-27 10:56:32 -0800
committerKevin Rocard <krocard@google.com>2018-03-06 11:30:51 -0800
commit2b275704bc174199687d11bd5b6ed6e1f0dcaaea (patch)
treed7b181cf93f74ec3e8ee8fbe60c767dfdea68e27 /audio/common/all-versions
parentf0878685d797d107417b2758c1ea39284609cebb (diff)
downloadandroid_hardware_interfaces-2b275704bc174199687d11bd5b6ed6e1f0dcaaea.tar.gz
android_hardware_interfaces-2b275704bc174199687d11bd5b6ed6e1f0dcaaea.tar.bz2
android_hardware_interfaces-2b275704bc174199687d11bd5b6ed6e1f0dcaaea.zip
Fix potential missing '\0' when wrapping to legacy
The HAL API for port name is a C++ string of arbitrary length. Nevertheless the legacy API name had a maximum length. Thus when wrapping from the new to legacy, the string was truncated but no '\0' was added. Bug: 38184704 Test: compile Change-Id: I482363809718281e022041c2d5042e5800c5a617 Merged-In: I482363809718281e022041c2d5042e5800c5a617 Cherry-picked from master Signed-off-by: Kevin Rocard <krocard@google.com>
Diffstat (limited to 'audio/common/all-versions')
-rw-r--r--audio/common/all-versions/default/include/common/all-versions/default/HidlUtils.impl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/audio/common/all-versions/default/include/common/all-versions/default/HidlUtils.impl.h b/audio/common/all-versions/default/include/common/all-versions/default/HidlUtils.impl.h
index d6f8d3e57..8ab73501b 100644
--- a/audio/common/all-versions/default/include/common/all-versions/default/HidlUtils.impl.h
+++ b/audio/common/all-versions/default/include/common/all-versions/default/HidlUtils.impl.h
@@ -296,8 +296,8 @@ void HidlUtils::audioPortToHal(const AudioPort& port, struct audio_port* halPort
halPort->id = port.id;
halPort->role = static_cast<audio_port_role_t>(port.role);
halPort->type = static_cast<audio_port_type_t>(port.type);
- memcpy(halPort->name, port.name.c_str(),
- std::min(port.name.size(), static_cast<size_t>(AUDIO_PORT_MAX_NAME_LEN)));
+ strncpy(halPort->name, port.name.c_str(), AUDIO_PORT_MAX_NAME_LEN);
+ halPort->name[AUDIO_PORT_MAX_NAME_LEN - 1] = '\0';
halPort->num_sample_rates =
std::min(port.sampleRates.size(), static_cast<size_t>(AUDIO_PORT_MAX_SAMPLING_RATES));
for (size_t i = 0; i < halPort->num_sample_rates; ++i) {