From 5687154a9581325d5a9382a592e793218dba1a74 Mon Sep 17 00:00:00 2001
From: Ruben Pollan <meskio@sindominio.net>
Date: Tue, 12 Jun 2018 19:09:21 +0200
Subject: [PATCH] [bug] check for errors on vpn check

- Resolves: #44
---
 bitmask/vpn.go | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/bitmask/vpn.go b/bitmask/vpn.go
index efc6d183..aee5e8f2 100644
--- a/bitmask/vpn.go
+++ b/bitmask/vpn.go
@@ -17,6 +17,7 @@ package bitmask
 
 import (
 	"errors"
+	"log"
 )
 
 // StartVPN for provider
@@ -52,7 +53,17 @@ func (b *Bitmask) VPNCheck() (helpers bool, priviledge bool, err error) {
 	if err != nil {
 		return false, false, err
 	}
-	return res["installed"].(bool), res["privcheck"].(bool), nil
+	installed, ok := res["installed"].(bool)
+	if !ok {
+		log.Printf("Unexpected value for installed on 'vpn check': %v", res)
+		return false, false, errors.New("Invalid response format")
+	}
+	privcheck, ok := res["privcheck"].(bool)
+	if !ok {
+		log.Printf("Unexpected value for privcheck on 'vpn check': %v", res)
+		return installed, false, errors.New("Invalid response format")
+	}
+	return installed, privcheck, nil
 }
 
 // ListGateways return the names of the gateways
-- 
GitLab