diff options
author | Kevin Rocard <krocard@google.com> | 2018-02-27 10:56:32 -0800 |
---|---|---|
committer | Kevin Rocard <krocard@google.com> | 2018-03-06 11:30:51 -0800 |
commit | 2b275704bc174199687d11bd5b6ed6e1f0dcaaea (patch) | |
tree | d7b181cf93f74ec3e8ee8fbe60c767dfdea68e27 /audio/common/all-versions | |
parent | f0878685d797d107417b2758c1ea39284609cebb (diff) | |
download | android_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.h | 4 |
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) { |