aboutsummaryrefslogtreecommitdiffstats
path: root/libsysutils
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2012-03-08 16:10:06 -0800
committerRobert Greenwalt <rgreenwalt@google.com>2012-03-09 11:55:51 -0800
commit7599bfcf13cf022333338b7a87aaddae69c48d73 (patch)
treeefe6c3ca539af273e8b150d385af7288488ddbe7 /libsysutils
parentb015977acbb7cea0344ca58f15e762fcbb99a7dc (diff)
downloadsystem_core-7599bfcf13cf022333338b7a87aaddae69c48d73.zip
system_core-7599bfcf13cf022333338b7a87aaddae69c48d73.tar.gz
system_core-7599bfcf13cf022333338b7a87aaddae69c48d73.tar.bz2
Fix pointer arith.
Sending 3digit code, null, binary-length and data. Current code sends 3digit code, space, null, binary-length, binary-data. The space should not be sent. Change-Id: I1df00a3e70805b39b6105966c7f3c613461a6858
Diffstat (limited to 'libsysutils')
-rw-r--r--libsysutils/src/SocketClient.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/libsysutils/src/SocketClient.cpp b/libsysutils/src/SocketClient.cpp
index d9713a6..4a7c82d 100644
--- a/libsysutils/src/SocketClient.cpp
+++ b/libsysutils/src/SocketClient.cpp
@@ -79,16 +79,16 @@ int SocketClient::sendMsg(int code, const char *msg, bool addErrno, bool useCmdN
return ret;
}
-
+/** send 3-digit code, null, binary-length, binary data */
int SocketClient::sendBinaryMsg(int code, const void *data, int len) {
- /* 5 bytes for the code & space + 4 bytes for the len */
- char buf[9];
+ /* 4 bytes for the code & null + 4 bytes for the len */
+ char buf[8];
/* Write the code */
- snprintf(buf, 5, "%.3d ", code);
+ snprintf(buf, 4, "%.3d", code);
/* Write the len */
uint32_t tmp = htonl(len);
- memcpy(buf + 5, &tmp, sizeof(uint32_t));
+ memcpy(buf + 4, &tmp, sizeof(uint32_t));
pthread_mutex_lock(&mWriteMutex);
int result = sendDataLocked(buf, sizeof(buf));
@@ -102,9 +102,9 @@ int SocketClient::sendBinaryMsg(int code, const void *data, int len) {
// Sends the code (c-string null-terminated).
int SocketClient::sendCode(int code) {
- char buf[5];
- snprintf(buf, 5, "%.3d ", code);
- return sendData(buf, 5);
+ char buf[4];
+ snprintf(buf, sizeof(buf), "%.3d", code);
+ return sendData(buf, sizeof(buf));
}
int SocketClient::sendMsg(const char *msg) {