diff options
-rw-r--r-- | include/private/android_filesystem_config.h | 1 | ||||
-rw-r--r-- | libcutils/str_parms.c | 12 | ||||
-rw-r--r-- | libsysutils/src/SocketClient.cpp | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/include/private/android_filesystem_config.h b/include/private/android_filesystem_config.h index a3d5e62..8e9edd9 100644 --- a/include/private/android_filesystem_config.h +++ b/include/private/android_filesystem_config.h @@ -119,6 +119,7 @@ static const struct android_id_info android_ids[] = { { "diag", AID_DIAG, }, { "net_bt_admin", AID_NET_BT_ADMIN, }, { "net_bt", AID_NET_BT, }, + { "sdcard_r", AID_SDCARD_R, }, { "sdcard_rw", AID_SDCARD_RW, }, { "media_rw", AID_MEDIA_RW, }, { "vpn", AID_VPN, }, diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c index 14fecec..16138f6 100644 --- a/libcutils/str_parms.c +++ b/libcutils/str_parms.c @@ -158,15 +158,18 @@ int str_parms_add_str(struct str_parms *str_parms, const char *key, const char *value) { void *old_val; - char *tmp; + void *tmp_key; + void *tmp_val; - tmp = strdup(value); - old_val = hashmapPut(str_parms->map, (void *)key, tmp); + tmp_key = strdup(key); + tmp_val = strdup(value); + old_val = hashmapPut(str_parms->map, tmp_key, tmp_val); if (old_val) { free(old_val); } else if (errno == ENOMEM) { - free(tmp); + free(tmp_key); + free(tmp_val); return -ENOMEM; } return 0; @@ -298,6 +301,7 @@ static void test_str_parms_str(const char *str) int ret; str_parms = str_parms_create_str(str); + str_parms_add_str(str_parms, "dude", "woah"); str_parms_dump(str_parms); out_str = str_parms_to_str(str_parms); str_parms_destroy(str_parms); diff --git a/libsysutils/src/SocketClient.cpp b/libsysutils/src/SocketClient.cpp index 4a7c82d..1533120 100644 --- a/libsysutils/src/SocketClient.cpp +++ b/libsysutils/src/SocketClient.cpp @@ -140,7 +140,7 @@ int SocketClient::sendDataLocked(const void *data, int len) { } while (brtw > 0) { - rc = write(mSocket, p, brtw); + rc = send(mSocket, p, brtw, MSG_NOSIGNAL); if (rc > 0) { p += rc; brtw -= rc; |