Blob Blame History Raw
commit 262d0522dea091b9065392563a5a2cd93e7fb17b
Author: Ian Goldberg <iang@cs.uwaterloo.ca>
Date:   Sun Oct 13 08:43:49 2013 -0400

    Avoid crash even if otrl_proto_query_bestversion is misused
    
    Return 0 instead of crashing from otrl_proto_query_bestversion if passed
    an illegal input.  Thanks to Conrad Hoffmann <ch@bitfehler.net> for the
    report and the patch.

diff --git a/src/proto.c b/src/proto.c
index ce597a2..c2dd24a 100644
--- a/src/proto.c
+++ b/src/proto.c
@@ -294,13 +294,16 @@ unsigned int otrl_proto_query_bestversion(const char *otrquerymsg,
 
 
     otrtag = strstr(otrquerymsg, "?OTR");
+    if (!otrtag) {
+	return 0;
+    }
     otrtag += 4;
 
-    if (otrtag && *otrtag == '?') {
+    if (*otrtag == '?') {
 	query_versions = (1<<0);
 	++otrtag;
     }
-    if (otrtag && *otrtag == 'v') {
+    if (*otrtag == 'v') {
 	for(++otrtag; *otrtag && *otrtag != '?'; ++otrtag) {
 	    switch(*otrtag) {
 		case '2':