From: Olivier J. <oja...@gm...> - 2006-10-30 22:15:14
|
Peter Higginson wrote: > > Hi Olivier, > > Someone here found a bug in a piece of my code to allow things like > [local_port+1]. The basic bug is that [last_Content-Type] or anything > similar is truncated to last_Content. A practical fix for this is just > to insist that an arithmetic minus (or plus) is followed by a digit. > (There is no perfect fix – the “-“ has two uses and the code cannot > mind read.) > > Current line 1816 in call.cpp (4 Oct 2006 version) is: > > if (!strstr(keyword, "authentication") && !strstr(keyword, "map") && > ((key = strchr(keyword,'+')) || (key = strchr(keyword,'-')))) { > > Change this to: > > if (!strstr(keyword, "authentication") && !strstr(keyword, "map") && > ((key = strchr(keyword,'+')) || (key = strchr(keyword,'-'))) && > isdigit(*(key+1))) { > > When I submitted this, I did not think of this possibility. > > Peter > Nice one :) Checked-in - SVN 71. Thanks. -- Olivier HP OpenCall Software http://www.hp.com/go/opencall/ |