mirror of https://github.com/openssl/openssl.git
				
				
				
			Fix OOB read in TS_OBJ_print_bio().
TS_OBJ_print_bio() misuses OBJ_txt2obj: it should print the result as a null terminated buffer. The length value returned is the total length the complete text reprsentation would need not the amount of data written. CVE-2016-2180 Thanks to Shi Lei for reporting this bug. Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
		
							parent
							
								
									d0c4415de5
								
							
						
					
					
						commit
						0ed26acce3
					
				|  | @ -40,9 +40,8 @@ int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj) | |||
| { | ||||
|     char obj_txt[128]; | ||||
| 
 | ||||
|     int len = OBJ_obj2txt(obj_txt, sizeof(obj_txt), obj, 0); | ||||
|     BIO_write(bio, obj_txt, len); | ||||
|     BIO_write(bio, "\n", 1); | ||||
|     OBJ_obj2txt(obj_txt, sizeof(obj_txt), obj, 0); | ||||
|     BIO_printf(bio, "%s\n", obj_txt); | ||||
| 
 | ||||
|     return 1; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue