Commit Diff


commit - ab9a70b228c50aa8f3066780a9472f5fe8453d85
commit + 6332351956c375744e908c1f895721ba3a5157d2
blob - ff3a5659e40c001e5bdb0b4223aaadf60aca59f0
blob + 254d635660b60064ce399812b785835832117b72
--- lib/object.c
+++ lib/object.c
@@ -170,15 +170,16 @@ parse_obj_header(struct got_object **obj, char *buf, s
 
 	for (i = 0; i < nitems(obj_tags); i++) {
 		const char *tag = obj_tags[i];
+		size_t tlen = strlen(tag);
 		const char *errstr;
 
-		if (strncmp(buf, tag, strlen(tag)) != 0)
+		if (strncmp(buf, tag, tlen) != 0)
 			continue;
 
 		type = obj_types[i];
-		if (len <= strlen(tag))
+		if (len <= tlen)
 			return got_error(GOT_ERR_BAD_OBJ_HDR);
-		size = strtonum(buf + strlen(tag), 0, LONG_MAX, &errstr);
+		size = strtonum(buf + tlen, 0, LONG_MAX, &errstr);
 		if (errstr != NULL)
 			return got_error(GOT_ERR_BAD_OBJ_HDR);
 		break;