summaryrefslogtreecommitdiffhomepage
path: root/Stars45/Ship.cpp
diff options
context:
space:
mode:
authorrhyskidd <rhyskidd@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-30 13:26:32 +0000
committerrhyskidd <rhyskidd@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-30 13:26:32 +0000
commiteaa453335563d670d856da44bf4ea1f332c618a7 (patch)
treea976bf3e0fc4b690042915745e637eb6b00929e4 /Stars45/Ship.cpp
parent035cfd86e5d221cffb2673e936dcb8703e28ce4b (diff)
downloadstarshatter-eaa453335563d670d856da44bf4ea1f332c618a7.zip
starshatter-eaa453335563d670d856da44bf4ea1f332c618a7.tar.gz
starshatter-eaa453335563d670d856da44bf4ea1f332c618a7.tar.bz2
Ensure check for NULL pointer occurs prior to use, not after
Diffstat (limited to 'Stars45/Ship.cpp')
-rw-r--r--Stars45/Ship.cpp30
1 files changed, 18 insertions, 12 deletions
diff --git a/Stars45/Ship.cpp b/Stars45/Ship.cpp
index 690e54c..9063d01 100644
--- a/Stars45/Ship.cpp
+++ b/Stars45/Ship.cpp
@@ -1,6 +1,6 @@
/* Project Starshatter 5.0
Destroyer Studios LLC
- Copyright © 1997-2007. All Rights Reserved.
+ Copyright (C) 1997-2007. All Rights Reserved.
SUBSYSTEM: Stars.exe
FILE: Ship.cpp
@@ -2119,12 +2119,15 @@ Ship::CommandMode()
if (!dir || dir->Type() != ShipCtrl::DIR_TYPE) {
const char* msg = "Captain on the bridge";
RadioVox* vox = new(__FILE__,__LINE__) RadioVox(0, "1", msg);
- vox->AddPhrase(msg);
+
+ if (vox) {
+ vox->AddPhrase(msg);
- if (vox && !vox->Start()) {
- RadioView::Message( RadioTraffic::TranslateVox(msg) );
- delete vox;
- }
+ if (!vox->Start()) {
+ RadioView::Message( RadioTraffic::TranslateVox(msg) );
+ delete vox;
+ }
+ }
SetControls(sim->GetControls());
}
@@ -2132,12 +2135,15 @@ Ship::CommandMode()
else {
const char* msg = "Exec, you have the conn";
RadioVox* vox = new(__FILE__,__LINE__) RadioVox(0, "1", msg);
- vox->AddPhrase(msg);
-
- if (vox && !vox->Start()) {
- RadioView::Message( RadioTraffic::TranslateVox(msg) );
- delete vox;
- }
+
+ if (vox) {
+ vox->AddPhrase(msg);
+
+ if (!vox->Start()) {
+ RadioView::Message( RadioTraffic::TranslateVox(msg) );
+ delete vox;
+ }
+ }
SetControls(0);
}