diff options
author | Nishant Chaprana <n.chaprana@samsung.com> | 2021-03-26 14:08:15 +0530 |
---|---|---|
committer | Nishant Chaprana <n.chaprana@samsung.com> | 2021-03-31 14:04:43 +0530 |
commit | 0e19853f53eaa5eb2545a25f05ea860fd39ac7d8 (patch) | |
tree | cc369058c23090e4e3ebfc72e31d85c73f71b579 | |
parent | eb5dc22be1b5bdb93c289503357ee3d57de559b6 (diff) | |
download | connman-0e19853f53eaa5eb2545a25f05ea860fd39ac7d8.tar.gz connman-0e19853f53eaa5eb2545a25f05ea860fd39ac7d8.tar.bz2 connman-0e19853f53eaa5eb2545a25f05ea860fd39ac7d8.zip |
Fix NULL pointer dereference
Core was generated by `/usr/bin/connmand -n --nobacktrace --noplugin vpn'.
Program terminated with signal SIGSEGV, Segmentation fault.
>0 connman_device_get_last_connected_ident (device=0x0) at src/device.c:842
842 return device->last_connected_ident;
(gdb) bt
>0 connman_device_get_last_connected_ident (device=0x0) at src/device.c:842
>1 0x0098ec70 in calculate_score_last_connected (service=0x1ef9eb8) at src/service.c:7900
>2 calculate_score (service=0x1ef9eb8) at src/service.c:7994
>3 calculate_score (service=0x1ef9eb8) at src/service.c:7977
>4 0x0098eed8 in service_compare (a=0x1ef9eb8, b=0x1f010a0) at src/service.c:8138
Change-Id: I7e412f68f71472e28669941b9346ba73281ccd39
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
-rwxr-xr-x | src/service.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 55bb5f6e..c918b64c 100755 --- a/src/service.c +++ b/src/service.c @@ -7897,6 +7897,9 @@ static int calculate_score_last_connected(struct connman_service *service) unsigned int frequency; device = connman_network_get_device(service->network); + if (!device) + return 0; + last_connected_ident = connman_device_get_last_connected_ident(device); frequency = connman_network_get_frequency(service->network); |