Skip to content

Commit b312a23

Browse files
committed
Properly split attribute values by items when deserialize attribute into list of values and attribute requires decoding
Fixes: issue888
1 parent c00bbc1 commit b312a23

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,15 @@
3030
### Bug Fixes
3131

3232
- [#806]: Properly normalize EOL characters in `Deserializer`.
33+
- [#888]: Properly split attribute values by items when deserialize attribute into
34+
list of values and attribute requires decoding.
3335

3436
### Misc Changes
3537

3638
[#806]: https://github.com/tafia/quick-xml/issues/806
3739
[#878]: https://github.com/tafia/quick-xml/pull/878
3840
[#882]: https://github.com/tafia/quick-xml/pull/882
41+
[#888]: https://github.com/tafia/quick-xml/pull/888
3942

4043

4144
## 0.38.0 -- 2025-06-28

src/de/simple_type.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,8 @@ impl<'de, 'a> SeqAccess<'de> for ListIter<'de, 'a> {
430430
// Skip additional bytes if we own data for next iteration, but deserialize from
431431
// the borrowed data from our buffer
432432
Content::Owned(s, skip) => {
433-
let item = s.split_at(skip + end).0;
433+
let rest = s.split_at(skip).1;
434+
let item = rest.split_at(end).0;
434435
let result = seed.deserialize(AtomicDeserializer {
435436
content: CowRef::Slice(item),
436437
escaped: self.escaped,

0 commit comments

Comments
 (0)