ソースを参照

Fix null reference

Billy Barrow 1 年間 前
コミット
d79b710ed3

+ 1 - 0
src/infra/daemon/Daemon.vala

@@ -35,5 +35,6 @@ namespace RiddleDaemon {
 
     private static void riddle_received(RiddleEnvelope riddle) {
         dbus_service.received_riddle(riddle.to_message().to_string().split("\n"), riddle.reply_address.to_string());
+        print("[DAEMON] notified DBUS of new Riddle.\n");
     }
 }

+ 1 - 0
src/lib/DaemonService.vala

@@ -33,6 +33,7 @@ namespace Riddle {
             callback_server.add_riddle (riddle, envelope);
             client.riddle (envelope, Invercargill.single<InetSocketAddress>(daemon_server_address));
             // Todo, throw when above call returns 0
+            print("[DaemonService] Published riddle!\n");
         }
         public void register_riddle (Riddle riddle) {
             lock(riddles) {

+ 4 - 1
src/lib/SharedKeyRiddle.vala

@@ -43,9 +43,12 @@ namespace Riddle {
             var cyphertext = riddle[Sodium.Symmetric.NONCE_BYTES:];
 
             var message = Sodium.Symmetric.decrypt (cyphertext, shared_key, nonce);
+            if(message == null){
+                return null;
+            }
+
             var token = message[0:TOKEN_SIZE];
             var secret = message[TOKEN_SIZE:];
-            print(@"Token starts with $(token[0])\n");
 
             return new Solution (secret, token);
         }