AutoFreeBuffer -> std::vector<char> for netlink

Test: atest cuttlefish_net_tests
Bug: 144387776
Change-Id: I7263e59910a785ec2115c03b1f6e36e659df6b0d
diff --git a/common/libs/net/netlink_request.cpp b/common/libs/net/netlink_request.cpp
index 28690a4..ebd84bb 100644
--- a/common/libs/net/netlink_request.cpp
+++ b/common/libs/net/netlink_request.cpp
@@ -35,21 +35,17 @@
 }
 
 void* NetlinkRequest::AppendRaw(const void* data, size_t length) {
-  void* out = request_.end();
+  size_t original_size = request_.size();
+  request_.resize(original_size + RTA_ALIGN(length), '\0');
+  memcpy(request_.data() + original_size, data, length);
 
-  request_.Append(data, length);
-  int pad = RTA_ALIGN(length) - length;
-  if (pad > 0) {
-    request_.Resize(request_.size() + pad);
-  }
-
-  return out;
+  return reinterpret_cast<void*>(request_.data() + original_size);
 }
 
 void* NetlinkRequest::ReserveRaw(size_t length) {
-  void* out = request_.end();
-  request_.Resize(request_.size() + RTA_ALIGN(length));
-  return out;
+  size_t original_size = request_.size();
+  request_.resize(original_size + RTA_ALIGN(length), '\0');
+  return reinterpret_cast<void*>(request_.data() + original_size);
 }
 
 nlattr* NetlinkRequest::AppendTag(
@@ -61,9 +57,9 @@
   return attr;
 }
 
-NetlinkRequest::NetlinkRequest(int32_t command, int32_t flags)
-    : request_(512),
-      header_(Reserve<nlmsghdr>()) {
+NetlinkRequest::NetlinkRequest(int32_t command, int32_t flags) {
+  request_.reserve(512);
+  header_ = Reserve<nlmsghdr>();
   flags |= NLM_F_ACK | NLM_F_REQUEST;
   header_->nlmsg_flags = flags;
   header_->nlmsg_type = command;
@@ -75,7 +71,7 @@
   using std::swap;
   swap(lists_, other.lists_);
   swap(header_, other.header_);
-  request_.Swap(other.request_);
+  swap(request_, other.request_);
 }
 
 void NetlinkRequest::AddString(uint16_t type, const std::string& value) {
diff --git a/common/libs/net/netlink_request.h b/common/libs/net/netlink_request.h
index e0f8753..5e5b355 100644
--- a/common/libs/net/netlink_request.h
+++ b/common/libs/net/netlink_request.h
@@ -23,8 +23,6 @@
 #include <string>
 #include <vector>
 
-#include "common/libs/auto_resources/auto_resources.h"
-
 namespace cvd {
 // Abstraction of Network link request.
 // Used to supply kernel with information about which interface needs to be
@@ -100,7 +98,7 @@
   nlattr* AppendTag(uint16_t type, const void* data, uint16_t length);
 
   std::vector<std::pair<nlattr*, int32_t>> lists_;
-  AutoFreeBuffer request_;
+  std::vector<char> request_;
   nlmsghdr* header_;
 
   NetlinkRequest(const NetlinkRequest&) = delete;