summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2020-02-13 22:09:49 +0100
committerJens Georg <mail@jensge.org>2020-02-13 22:09:49 +0100
commit1e2de70486f70b1f17f0e9aa69c7242b9fd8fe4c (patch)
treedf0cdef1cbdc988838d070daddd378c8949a6f69
parent16eb54f7d8bc9ee716ffdc139d702ae094e34905 (diff)
downloadrygel-1e2de70486f70b1f17f0e9aa69c7242b9fd8fe4c.tar.gz
core: Rework potential null access
-rw-r--r--src/librygel-core/rygel-basic-management.vala53
1 files changed, 35 insertions, 18 deletions
diff --git a/src/librygel-core/rygel-basic-management.vala b/src/librygel-core/rygel-basic-management.vala
index 683ce50f..0e498a76 100644
--- a/src/librygel-core/rygel-basic-management.vala
+++ b/src/librygel-core/rygel-basic-management.vala
@@ -278,19 +278,24 @@ public class Rygel.BasicManagement : Service {
if (!this.ensure_test_exists (action, out bm_test)) {
return;
}
+ var ping = bm_test as BasicManagementTestPing;
+ if (ping == null) {
+ action.return_error (707, _("Wrong Test Type"));
+
+ return;
+ }
string status, additional_info;
uint success_count, failure_count;
uint32 avg_response_time, min_response_time, max_response_time;
- (bm_test as BasicManagementTestPing).get_results
- (out status,
- out additional_info,
- out success_count,
- out failure_count,
- out avg_response_time,
- out min_response_time,
- out max_response_time);
+ ping.get_results (out status,
+ out additional_info,
+ out success_count,
+ out failure_count,
+ out avg_response_time,
+ out min_response_time,
+ out max_response_time);
action.set ("Status",
typeof (string),
@@ -372,14 +377,20 @@ public class Rygel.BasicManagement : Service {
return;
}
+ var nslookup = bm_test as BasicManagementTestNSLookup;
+ if (nslookup == null) {
+ action.return_error (707, _("Wrong Test Type"));
+
+ return;
+ }
+
string status, additional_info, result;
uint success_count;
- (bm_test as BasicManagementTestNSLookup).get_results
- (out status,
- out additional_info,
- out success_count,
- out result);
+ nslookup.get_results (out status,
+ out additional_info,
+ out success_count,
+ out result);
action.set ("Status",
typeof (string),
@@ -455,14 +466,20 @@ public class Rygel.BasicManagement : Service {
return;
}
+ var traceroute = bm_test as BasicManagementTestTraceroute;
+ if (traceroute == null) {
+ action.return_error (707, _("Wrong Test Type"));
+
+ return;
+ }
+
string status, additional_info, hop_hosts;
uint32 response_time;
- (bm_test as BasicManagementTestTraceroute).get_results
- (out status,
- out additional_info,
- out response_time,
- out hop_hosts);
+ traceroute.get_results (out status,
+ out additional_info,
+ out response_time,
+ out hop_hosts);
action.set ("Status",
typeof (string),