diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-06-28 17:04:23 +0200 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-08-31 18:31:00 +0200 |
commit | c5c3fbd1b3571645d436280e5515442da93e1505 (patch) | |
tree | 5be8abb2001f70aef1f5fac6ad8060d40fc18642 | |
parent | b88baa0bdad1365f12949bf31bc3ac303f37e558 (diff) | |
download | hardware_replicant_libsamsung-ril-c5c3fbd1b3571645d436280e5515442da93e1505.tar.gz hardware_replicant_libsamsung-ril-c5c3fbd1b3571645d436280e5515442da93e1505.tar.bz2 hardware_replicant_libsamsung-ril-c5c3fbd1b3571645d436280e5515442da93e1505.zip |
srs: srs_client_send: do more precise locking
The following code:
srs_header_setup(&header, message);
length = header.length;
buffer = calloc(1, length);
memcpy(buffer, &header, sizeof(header));
if (message->data != NULL && message->size > 0) {
p = (unsigned char *) buffer + sizeof(header);
memcpy(p, message->data, message->size);
}
doesn't depend on shared data structures, so it doesn't need to be
guarded by a mutex.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r-- | srs.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -467,7 +467,6 @@ int srs_client_send(struct ril_client *client, struct srs_message *message) if (data->client_fd < 0) return -1; - RIL_CLIENT_LOCK(client); srs_header_setup(&header, message); @@ -480,6 +479,8 @@ int srs_client_send(struct ril_client *client, struct srs_message *message) memcpy(p, message->data, message->size); } + RIL_CLIENT_LOCK(client); + srs_log_send(client, message); memset(&timeout, 0, sizeof(timeout)); |