remote-curl: Add a format check to parsing of info/refs
When parsing info/refs, no checks were applied that the file was in the requried format. Since the file is read from a remote webserver, this isn't guarenteed to be true. Add a check that the file at least only contains lines that consist of 40 characters followed by a tab and then the ref name. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									8b5900751a
								
							
						
					
					
						commit
						6e8e67f307
					
				|  | @ -227,6 +227,8 @@ static struct ref *parse_info_refs(struct discovery *heads) | ||||||
| 		if (data[i] == '\t') | 		if (data[i] == '\t') | ||||||
| 			mid = &data[i]; | 			mid = &data[i]; | ||||||
| 		if (data[i] == '\n') { | 		if (data[i] == '\n') { | ||||||
|  | 			if (mid - start != 40) | ||||||
|  | 				die("%sinfo/refs not valid: is this a git repository?", url); | ||||||
| 			data[i] = 0; | 			data[i] = 0; | ||||||
| 			ref_name = mid + 1; | 			ref_name = mid + 1; | ||||||
| 			ref = xmalloc(sizeof(struct ref) + | 			ref = xmalloc(sizeof(struct ref) + | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Julian Phillips
						Julian Phillips