diff --git a/callerid.c b/callerid.c index 984e449e25eb842d4c95f95dcf23bc538ab37887..59d9a68603769e8bb90b5aa996137beeb27b5880 100755 --- a/callerid.c +++ b/callerid.c @@ -549,8 +549,11 @@ int ast_callerid_parse(char *instr, char **name, char **location) *name = NULL; *location = instr; } else { - /* Assume it's just a name */ + /* Assume it's just a name. Make sure it's not quoted though */ *name = instr; + while(*(*name) && ((*(*name) < 33) || (*(*name) == '\"'))) (*name)++; + ne = *name + strlen(*name) - 1; + while((ne > *name) && ((*ne < 33) || (*ne == '\"'))) { *ne = '\0'; ne--; } *location = NULL; } return 0;