From f2282722dd92eb8649120c4e03c12429ad842a8d Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Mon, 8 Feb 2010 23:43:00 +0000
Subject: [PATCH] Fix return value of get_ie_str() and get_ie_str_hash() for
 non-existent IE.

I found this bug while developing a unit test for event allocation.  Testing
is awesome.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/event.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/main/event.c b/main/event.c
index 7f29783b93..7a953c5087 100644
--- a/main/event.c
+++ b/main/event.c
@@ -945,7 +945,7 @@ const char *ast_event_iterator_get_ie_str(struct ast_event_iterator *iterator)
 
 	str_payload = (struct ast_event_ie_str_payload *) iterator->ie->ie_payload;
 
-	return str_payload->str;
+	return str_payload ? str_payload->str : NULL;
 }
 
 void *ast_event_iterator_get_ie_raw(struct ast_event_iterator *iterator)
@@ -982,7 +982,7 @@ uint32_t ast_event_get_ie_str_hash(const struct ast_event *event, enum ast_event
 
 	str_payload = ast_event_get_ie_raw(event, ie_type);
 
-	return str_payload->hash;
+	return str_payload ? str_payload->hash : 0;
 }
 
 const char *ast_event_get_ie_str(const struct ast_event *event, enum ast_event_ie_type ie_type)
@@ -991,7 +991,7 @@ const char *ast_event_get_ie_str(const struct ast_event *event, enum ast_event_i
 
 	str_payload = ast_event_get_ie_raw(event, ie_type);
 
-	return str_payload->str;
+	return str_payload ? str_payload->str : NULL;
 }
 
 const void *ast_event_get_ie_raw(const struct ast_event *event, enum ast_event_ie_type ie_type)
-- 
GitLab