Skip to content
Snippets Groups Projects
Commit 1ad7b941 authored by Kevin P. Fleming's avatar Kevin P. Fleming
Browse files

Merged revisions 28337 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r28337 | kpfleming | 2006-05-18 14:35:55 -0500 (Thu, 18 May 2006) | 2 lines

use unsigned counters for handling answer/IE lengths while processing DNS results (issue #7174)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 169e4797
No related branches found
No related tags found
Loading
...@@ -95,27 +95,29 @@ struct naptr { ...@@ -95,27 +95,29 @@ struct naptr {
} __attribute__ ((__packed__)); } __attribute__ ((__packed__));
/*! \brief Parse NAPTR record information elements */ /*! \brief Parse NAPTR record information elements */
static int parse_ie(unsigned char *data, int maxdatalen, unsigned char *src, int srclen) static unsigned int parse_ie(char *data, unsigned int maxdatalen, char *src, unsigned int srclen)
{ {
int len, olen; unsigned int len, olen;
len = olen = (int)src[0]; len = olen = (unsigned int) src[0];
src++; src++;
srclen--; srclen--;
if (len > srclen || len < 0 ) {
if (len > srclen) {
ast_log(LOG_WARNING, "ENUM parsing failed: Wanted %d characters, got %d\n", len, srclen); ast_log(LOG_WARNING, "ENUM parsing failed: Wanted %d characters, got %d\n", len, srclen);
return -1; return -1;
} }
if (len > maxdatalen) if (len > maxdatalen)
len = maxdatalen; len = maxdatalen;
memcpy(data, src, len); memcpy(data, src, len);
return olen + 1; return olen + 1;
} }
/*! \brief Parse DNS NAPTR record used in ENUM ---*/ /*! \brief Parse DNS NAPTR record used in ENUM ---*/
static int parse_naptr(unsigned char *dst, int dstsize, char *tech, int techsize, unsigned char *answer, int len, unsigned char *naptrinput) static int parse_naptr(unsigned char *dst, int dstsize, char *tech, int techsize, unsigned char *answer, int len, unsigned char *naptrinput)
{ {
char tech_return[80]; char tech_return[80];
char *oanswer = answer; char *oanswer = answer;
char flags[512] = ""; char flags[512] = "";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment