From 9a6161c61cb99460afa2c575f39c046391fa1c97 Mon Sep 17 00:00:00 2001 From: Etan Cohen Date: Mon, 27 Jun 2016 17:25:29 -0700 Subject: [PATCH] [NAN] Fix assumption about Strings containing single-byte characters. Code assumed that each character was represented by a single byte. Change-Id: I92ea63f7273379ed1035f10c207d41e3e352bf38 --- wifi/java/android/net/wifi/nan/PublishConfig.java | 2 +- wifi/java/android/net/wifi/nan/SubscribeConfig.java | 2 +- wifi/java/android/net/wifi/nan/TlvBufferUtils.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/wifi/java/android/net/wifi/nan/PublishConfig.java b/wifi/java/android/net/wifi/nan/PublishConfig.java index d7cba8fcdfb31..8295484eb308e 100644 --- a/wifi/java/android/net/wifi/nan/PublishConfig.java +++ b/wifi/java/android/net/wifi/nan/PublishConfig.java @@ -380,8 +380,8 @@ public class PublishConfig implements Parcelable { * {@code builder.setXXX(..).setXXX(..)}. */ public Builder setServiceSpecificInfo(@NonNull String serviceSpecificInfoStr) { - mServiceSpecificInfoLength = serviceSpecificInfoStr.length(); mServiceSpecificInfo = serviceSpecificInfoStr.getBytes(); + mServiceSpecificInfoLength = mServiceSpecificInfo.length; return this; } diff --git a/wifi/java/android/net/wifi/nan/SubscribeConfig.java b/wifi/java/android/net/wifi/nan/SubscribeConfig.java index 847c8d002abb6..6ef4dfa40fa80 100644 --- a/wifi/java/android/net/wifi/nan/SubscribeConfig.java +++ b/wifi/java/android/net/wifi/nan/SubscribeConfig.java @@ -413,8 +413,8 @@ public class SubscribeConfig implements Parcelable { * {@code builder.setXXX(..).setXXX(..)}. */ public Builder setServiceSpecificInfo(@NonNull String serviceSpecificInfoStr) { - mServiceSpecificInfoLength = serviceSpecificInfoStr.length(); mServiceSpecificInfo = serviceSpecificInfoStr.getBytes(); + mServiceSpecificInfoLength = mServiceSpecificInfo.length; return this; } diff --git a/wifi/java/android/net/wifi/nan/TlvBufferUtils.java b/wifi/java/android/net/wifi/nan/TlvBufferUtils.java index ea8785a858ee4..fa1dcf152668f 100644 --- a/wifi/java/android/net/wifi/nan/TlvBufferUtils.java +++ b/wifi/java/android/net/wifi/nan/TlvBufferUtils.java @@ -224,7 +224,8 @@ public class TlvBufferUtils { * {@code ctr.putXXX(..).putXXX(..)}. */ public TlvConstructor putString(int type, String data) { - return putByteArray(type, data.getBytes(), 0, data.length()); + byte[] bytes = data.getBytes(); + return putByteArray(type, bytes, 0, bytes.length); } /**