mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	res_pjsip_authenticator_digest: Fix md5 hash buffer
An md5 hash is 32 bytes long. The char buffer must be at least 33 bytes to avoid clobbering of the stack. This patch also fixes a potential clobbering in test_utils.c. Thanks to Andrew Nagy for reporting and testing this out in #asterisk-dev Reported by: Andrew Nagy Tested by: Andrew Nagy ........ Merged revisions 404843 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -200,7 +200,7 @@ static int build_nonce(struct ast_str **nonce, const char *timestamp, const pjsi | |||||||
| { | { | ||||||
| 	struct ast_str *str = ast_str_alloca(256); | 	struct ast_str *str = ast_str_alloca(256); | ||||||
| 	RAII_VAR(char *, eid, ao2_global_obj_ref(entity_id), ao2_cleanup); | 	RAII_VAR(char *, eid, ao2_global_obj_ref(entity_id), ao2_cleanup); | ||||||
| 	char hash[32]; | 	char hash[33]; | ||||||
|  |  | ||||||
| 	ast_str_append(&str, 0, "%s", timestamp); | 	ast_str_append(&str, 0, "%s", timestamp); | ||||||
| 	ast_str_append(&str, 0, ":%s", rdata->pkt_info.src_name); | 	ast_str_append(&str, 0, ":%s", rdata->pkt_info.src_name); | ||||||
|   | |||||||
| @@ -202,7 +202,7 @@ AST_TEST_DEFINE(md5_test) | |||||||
| 	ast_test_status_update(test, "Testing MD5 ...\n"); | 	ast_test_status_update(test, "Testing MD5 ...\n"); | ||||||
|  |  | ||||||
| 	for (i = 0; i < ARRAY_LEN(tests); i++) { | 	for (i = 0; i < ARRAY_LEN(tests); i++) { | ||||||
| 		char md5_hash[32]; | 		char md5_hash[33]; | ||||||
| 		ast_md5_hash(md5_hash, tests[i].input); | 		ast_md5_hash(md5_hash, tests[i].input); | ||||||
| 		if (strcasecmp(md5_hash, tests[i].expected_output)) { | 		if (strcasecmp(md5_hash, tests[i].expected_output)) { | ||||||
| 			ast_test_status_update(test, | 			ast_test_status_update(test, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user