mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	SIP Notify via AMI or CLI leaks SIP PVTs
Any SIP notify sent via AMI or CLI leaks a SIP PVT with ref count +2. Removing the additional ref just before the invite and adding an unref following it corrects the issue as seen via REF_DEBUG. The unref existed in a distant revision and it appears as though the wrong ref operation was removed. (closes issue ASTERISK-18091) Review: https://reviewboard.asterisk.org/r/1332/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -12460,9 +12460,9 @@ static int manager_sipnotify(struct mansession *s, const struct message *m) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	dialog_ref(p, "bump the count of p, which transmit_sip_request will decrement."); | ||||
| 	sip_scheddestroy(p, SIP_TRANS_TIMEOUT); | ||||
| 	transmit_invite(p, SIP_NOTIFY, 0, 2, NULL); | ||||
| 	dialog_unref(p, "bump down the count of p since we're done with it."); | ||||
| 
 | ||||
| 	astman_send_ack(s, m, "Notify Sent"); | ||||
| 	ast_variables_destroy(vars); | ||||
| @@ -18453,9 +18453,9 @@ static char *sip_cli_notify(struct ast_cli_entry *e, int cmd, struct ast_cli_arg | ||||
| 
 | ||||
| 		/* Recalculate our side, and recalculate Call ID */ | ||||
| 		ast_cli(a->fd, "Sending NOTIFY of type '%s' to '%s'\n", a->argv[2], a->argv[i]); | ||||
| 		dialog_ref(p, "bump the count of p, which transmit_sip_request will decrement."); | ||||
| 		sip_scheddestroy(p, SIP_TRANS_TIMEOUT); | ||||
| 		transmit_invite(p, SIP_NOTIFY, 0, 2, NULL); | ||||
| 		dialog_unref(p, "bump down the count of p since we're done with it."); | ||||
| 	} | ||||
| 
 | ||||
| 	return CLI_SUCCESS; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user