Browse Source

Another 10363 instance -- this one in the eventdns.c code

Nick Mathewson 10 years ago
parent
commit
6d9c332757
2 changed files with 6 additions and 2 deletions
  1. 3 0
      changes/bug10363
  2. 3 2
      src/ext/eventdns.c

+ 3 - 0
changes/bug10363

@@ -6,4 +6,7 @@
     - Fix another possibly undefined pointer operations in tor_memmem
       fallback implementation. Another case of bug #10363; bugfix on
       0.1.1.1-alpha.
+    - Fix another possibly undefined pointer operations in the eventdns
+      fallback implementation. Another case of bug #10363; bugfix on
+      0.1.2.1-alpha.
 

+ 3 - 2
src/ext/eventdns.c

@@ -842,10 +842,11 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, size_t name_out_len
 		}
 		if (label_len > 63) return -1;
 		if (cp != name_out) {
-			if (cp + 1 >= end) return -1;
+			if (cp >= name_out + name_out_len - 1) return -1;
 			*cp++ = '.';
 		}
-		if (cp + label_len >= end) return -1;
+		if (label_len > name_out_len ||
+			cp >= name_out + name_out_len - label_len) return -1;
 		memcpy(cp, packet + j, label_len);
 		cp += label_len;
 		j += label_len;