Diff between c70883b1911d6801565f325656c8ca263a2c0903 and e4925be847e3659cf681f2c963b4392b30df836b

Changed Files

File Additions Deletions Status
src/shared/mgmt.c +6 -4 modified

Full Patch

diff --git a/src/shared/mgmt.c b/src/shared/mgmt.c
index a391ab5..d7493e2 100644
--- a/src/shared/mgmt.c
+++ b/src/shared/mgmt.c
@@ -235,11 +235,13 @@ static void request_complete(struct mgmt *mgmt, uint8_t status,
 
 	request = queue_remove_if(mgmt->pending_list,
 					match_request_opcode_index, &match);
+	if (request) {
+		if (request->callback)
+			request->callback(status, length, param,
+							request->user_data);
 
-	if (request->callback)
-		request->callback(status, length, param, request->user_data);
-
-	destroy_request(request);
+		destroy_request(request);
+	}
 
 	if (mgmt->destroyed)
 		return;