Merged revisions 298482 via svnmerge from

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

................
  r298482 | tilghman | 2010-12-16 03:05:28 -0600 (Thu, 16 Dec 2010) | 28 lines
  
  Merged revisions 298481 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r298481 | tilghman | 2010-12-16 03:04:38 -0600 (Thu, 16 Dec 2010) | 21 lines
    
    Merged revisions 298480 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r298480 | tilghman | 2010-12-16 03:03:40 -0600 (Thu, 16 Dec 2010) | 14 lines
      
      Only increment the pointer once per loop, otherwise we corrupt the value.
      
      (closes issue #18251)
       Reported by: bcnit
       Patches: 
             20101110__issue18251.diff.txt uploaded by tilghman (license 14)
       Tested by: trev, jthurman, elguero
      
      (closes issue #18279)
       Reported by: zerohalo
       Patches: 
             20101109__issue18279.diff.txt uploaded by tilghman (license 14)
       Tested by: zerohalo
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher 2010-12-16 09:06:20 +00:00
parent ac77932bac
commit 6f50b888ee
1 changed files with 2 additions and 3 deletions

View File

@ -61,7 +61,7 @@ struct custom_prepare_struct {
static void decode_chunk(char *chunk)
{
for (; *chunk; chunk++) {
if (*chunk == '^' && strchr("0123456789ABCDEFabcdef", chunk[1]) && strchr("0123456789ABCDEFabcdef", chunk[2])) {
if (*chunk == '^' && strchr("0123456789ABCDEF", chunk[1]) && strchr("0123456789ABCDEF", chunk[2])) {
sscanf(chunk + 1, "%02hhX", chunk);
memmove(chunk + 1, chunk + 3, strlen(chunk + 3) + 1);
}
@ -109,9 +109,8 @@ static SQLHSTMT custom_prepare(struct odbc_obj *obj, void *data)
/* We use ^XX, instead of %XX because '%' is a special character in SQL */
snprintf(eptr, encodebuf + sizeof(encodebuf) - eptr, "^%02hhX", *vptr);
eptr += 3;
vptr++;
} else {
*eptr++ = *vptr++;
*eptr++ = *vptr;
}
}
if (eptr < encodebuf + sizeof(encodebuf)) {