diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2021-09-02 10:26:57 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2021-09-02 10:28:15 +0900 |
commit | c9ce9e7eb4fc227ee46c6982722330aa301d317c (patch) | |
tree | 095d8408122776f87e2ccb307d991a1471e01b46 | |
parent | a934d966c67599804619cceb25cc207377a7c4ec (diff) | |
download | connman-c9ce9e7eb4fc227ee46c6982722330aa301d317c.tar.gz connman-c9ce9e7eb4fc227ee46c6982722330aa301d317c.tar.bz2 connman-c9ce9e7eb4fc227ee46c6982722330aa301d317c.zip |
Fix NULL pointer dereference
Thread 1 (LWP 13957):
>0 count_assoc_reject (key=0x0, value=0x0, user_data=0xbe0a3928) at src/service.c:843 --> connman (rpm)
>1 0xb6654674 in g_hash_table_foreach (hash_table=0x533200, func=0x4700ad <count_assoc_reject>, user_data=user_data@entry=0xbe0a3928) at ../glib/ghash.c:2056 --> libglib (rpm)
>2 0x0047bf9a in update_assoc_reject (service=0x4fb2a0, service=0x4fb2a0) at src/service.c:857 --> connman (rpm)
>3 __connman_service_update_from_network (network=network@entry=0x50d6a0) at src/service.c:11004 --> connman (rpm)
>4 0x0046a9f4 in connman_network_set_group (network=network@entry=0x50d6a0, group=group@entry=0x560ff8 "") at src/network.c:1587 --> connman (rpm)
>5 0x0044f12c in network_added (supplicant_network=0x51d430) at plugins/wifi.c:5031 --> connman (rpm)
>6 0x004516ba in callback_network_added (network=<optimized out>) at gsupplicant/supplicant.c:828 --> connman (rpm)
>7 scan_network_update (iter=<optimized out>, user_data=0x4f0380) at gsupplicant/supplicant.c:3790 --> connman (rpm)
Change-Id: I2f6e86c492dbc621b1c9f48506e8a89326568664
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
-rwxr-xr-x | src/service.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c index 2b69a0bb..a4091629 100755 --- a/src/service.c +++ b/src/service.c @@ -813,7 +813,8 @@ static void count_assoc_reject(gpointer key, gpointer value, gpointer user_data) struct assoc_reject_data *assoc_data = value; int *assoc_reject_count = user_data; - *assoc_reject_count += g_slist_length(assoc_data->reject_time_list); + if (assoc_data) + *assoc_reject_count += g_slist_length(assoc_data->reject_time_list); } static bool update_assoc_reject(struct connman_service *service) |