Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 861c82be authored by Henri Chataing's avatar Henri Chataing Committed by Automerger Merge Worker
Browse files

Merge "Packetgen: Fix potential runtime panics in rust generated code" am:...

Merge "Packetgen: Fix potential runtime panics in rust generated code" am: 6c9c2d7d am: f1e4aea7 am: 9e63a591

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2036243

Change-Id: Ibf7d21b4312cba8376d19b24317de513ddc570e7
parents 245cac4e 9e63a591
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -200,10 +200,11 @@ std::string ArrayField::GetRustDataType() const {
  return "[" + element_field_->GetRustDataType() + "; " + std::to_string(array_size_) + "]";
}

void ArrayField::GenRustGetter(std::ostream& s, Size start_offset, Size) const {
void ArrayField::GenRustGetter(std::ostream& s, Size start_offset, Size, std::string) const {
  s << "let " << GetName() << " = ";
  s << "bytes[" << start_offset.bytes() << "..";
  s << start_offset.bytes() + GetSize().bytes() << "].try_into().unwrap();";
  s << start_offset.bytes() + GetSize().bytes() << "].try_into()";
  s << ".map_err(|_| Error::InvalidPacketError)?;";
}

void ArrayField::GenRustWriter(std::ostream& s, Size start_offset, Size) const {
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ class ArrayField : public PacketField {

  virtual std::string GetRustDataType() const override;

  void GenRustGetter(std::ostream& s, Size start_offset, Size end_offset) const override;
  void GenRustGetter(std::ostream& s, Size start_offset, Size end_offset, std::string parent_name) const override;

  void GenRustWriter(std::ostream& s, Size start_offset, Size end_offset) const override;

+1 −2
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ std::string BodyField::GetRustDataType() const {
  return GetDataType();
}

void BodyField::GenRustGetter(std::ostream&, Size, Size) const {
}
void BodyField::GenRustGetter(std::ostream&, Size, Size, std::string) const {}

void BodyField::GenRustWriter(std::ostream&, Size, Size) const {}
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ class BodyField : public PacketField {

  virtual std::string GetRustDataType() const override;

  void GenRustGetter(std::ostream& s, Size start_offset, Size end_offset) const override;
  void GenRustGetter(std::ostream& s, Size start_offset, Size end_offset, std::string) const override;

  void GenRustWriter(std::ostream& s, Size start_offset, Size end_offset) const override;

+1 −2
Original line number Diff line number Diff line
@@ -64,7 +64,6 @@ void ChecksumField::GenStringRepresentation(std::ostream& s, std::string) const
  s << "\"CHECKSUM\"";
}

void ChecksumField::GenRustGetter(std::ostream&, Size, Size) const {
}
void ChecksumField::GenRustGetter(std::ostream&, Size, Size, std::string) const {}

void ChecksumField::GenRustWriter(std::ostream&, Size, Size) const {}
Loading