From: Mark Spencer Date: Thu, 9 Sep 2004 02:29:10 +0000 (+0000) Subject: Only accept first callerid number (bug #2395) X-Git-Tag: 1.0.0~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81df8343d3a3f05bb37f851ae770c7031b6bb32b;p=thirdparty%2Fasterisk.git Only accept first callerid number (bug #2395) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3750 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/callerid.c b/callerid.c index 283a5dee8a..f616cae80b 100755 --- a/callerid.c +++ b/callerid.c @@ -3,9 +3,9 @@ * * CallerID Generation support * - * Copyright (C) 2001, Linux Support Services, Inc. + * Copyright (C) 2001-2004, Digium, Inc. * - * Mark Spencer + * Mark Spencer * * This program is free software, distributed under the terms of * the GNU General Public License. @@ -261,9 +261,11 @@ int callerid_feed(struct callerid_state *cid, unsigned char *ubuf, int len, int ast_log(LOG_NOTICE, "Truncating long caller ID number from %d bytes to 32\n", cid->rawdata[x]); res = 32; } - memcpy(cid->number, cid->rawdata + x + 1, res); - /* Null terminate */ - cid->number[res] = '\0'; + if (ast_strlen_zero(cid->number)) { + memcpy(cid->number, cid->rawdata + x + 1, res); + /* Null terminate */ + cid->number[res] = '\0'; + } break; case 7: /* Name */ case 8: /* Name */