gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit 80db78c1e52a24523ab86d1bcecaf17685e1208e
parent 06f6f4b14a53fedf9cb5245016e2e286d7a6df43
Author: Sree Harsha Totakura <totakura@in.tum.de>
Date:   Wed, 26 Mar 2014 11:08:09 +0000

- Avoid dereferencing undefined pointer when the request status indicates an error.


Diffstat:
Msrc/arm/test_gnunet_service_arm.c | 14++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/arm/test_gnunet_service_arm.c b/src/arm/test_gnunet_service_arm.c @@ -76,10 +76,16 @@ service_list (void *cls, GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u services are are currently running\n", count); - GNUNET_break (count == 1); - GNUNET_break (0 == strcasecmp (list[0], "resolver (gnunet-service-resolver)")); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got service list, now stopping arm\n"); - ret = 0; + if (GNUNET_ARM_REQUEST_SENT_OK != rs) + goto stop_arm; + if (1 == count) + { + GNUNET_break (0 == strcasecmp (list[0], "resolver (gnunet-service-resolver)")); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got service list, now stopping arm\n"); + ret = 0; + } + + stop_arm: GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL); }