summaryrefslogtreecommitdiffstats
path: root/obex
diff options
context:
space:
mode:
Diffstat (limited to 'obex')
-rw-r--r--obex/javax/obex/ObexHelper.java5
-rw-r--r--obex/javax/obex/ServerSession.java2
2 files changed, 6 insertions, 1 deletions
diff --git a/obex/javax/obex/ObexHelper.java b/obex/javax/obex/ObexHelper.java
index f569595..1b66662 100644
--- a/obex/javax/obex/ObexHelper.java
+++ b/obex/javax/obex/ObexHelper.java
@@ -897,6 +897,11 @@ public final class ObexHelper {
if (lower < 0) {
lower += 256;
}
+ // If upper and lower both equal 0, it should be the end of string.
+ // Ignore left bytes from array to avoid potential issues
+ if (upper == 0 && lower == 0) {
+ return new String(c, 0, i);
+ }
c[i] = (char)((upper << 8) | lower);
}
diff --git a/obex/javax/obex/ServerSession.java b/obex/javax/obex/ServerSession.java
index 423d5a7..675272d 100644
--- a/obex/javax/obex/ServerSession.java
+++ b/obex/javax/obex/ServerSession.java
@@ -168,7 +168,7 @@ public final class ServerSession extends ObexSession implements Runnable {
} else {
response = validateResponseCode(mListener.onPut(op));
}
- if (response != ResponseCodes.OBEX_HTTP_OK) {
+ if (response != ResponseCodes.OBEX_HTTP_OK && !op.isAborted) {
op.sendReply(response);
} else if (!op.isAborted) {
// wait for the final bit