mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	chan_dahdi: Address gcc9 issues
Fixed format-truncation issues in chan_dahdi.c and sig_analog.c. Since they're related to fields provided by dahdi-tools we can't change the buffer sizes so we're just checking the return from snprintf and printing an errior if we overflow. Change-Id: Idc1f3c1565b88a7d145332a0196074b5832864e5
This commit is contained in:
		@@ -2968,11 +2968,16 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_
 | 
			
		||||
			} else {
 | 
			
		||||
				c = p->dialdest;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (*c) {
 | 
			
		||||
				snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*0%s#", c);
 | 
			
		||||
				int numchars = snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*0%s#", c);
 | 
			
		||||
				if (numchars >= sizeof(p->dop.dialstr)) {
 | 
			
		||||
					ast_log(LOG_WARNING, "Dial string '%s' truncated\n", c);
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				ast_copy_string(p->dop.dialstr,"M*2#", sizeof(p->dop.dialstr));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (strlen(p->dop.dialstr) > 4) {
 | 
			
		||||
				memset(p->echorest, 'w', sizeof(p->echorest) - 1);
 | 
			
		||||
				strcpy(p->echorest + (p->echotraining / 401) + 1, p->dop.dialstr + strlen(p->dop.dialstr) - 2);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user