[naviserver-devel] Config error

2009-02-05 Thread Vasiljevic Zoran
Hi!

It seems that we have problems if Dev logging is enabled.
By definition the ConfigGet may return NULL. Also the value
of the section param passed to this (below) and other
similar functions may also be NULL. In such cases the
Ns_Log below crashes at dereferencing section and/or value
ptrs.


CONST char *
Ns_ConfigString(CONST char *section, CONST char *key, CONST char *def)
{
 CONST char *value;

 value = ConfigGet(section, key, 0, def);
 Ns_Log(Dev, config: %s:%s value=\%s\ default=\%s\ (string),
section, key, value, def);

 return value ? value : def;
}



--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Config error

2009-02-05 Thread Vasiljevic Zoran
Even worse, the def argument may also be NULL.
Throughout in this file the:

 Ns_Log(Dev, config: %s:%s value=\%s\ default=\%s\ (string),
section, key, value, def);


should be changed to something like

 Ns_Log(Dev, config: %s:%s value=\%s\ default=\%s\ (string),
section ? section : , key, value ? value : , def ?  
 def : );



On 05.02.2009, at 14:00, Vasiljevic Zoran wrote:

 Hi!

 It seems that we have problems if Dev logging is enabled.
 By definition the ConfigGet may return NULL. Also the value
 of the section param passed to this (below) and other
 similar functions may also be NULL. In such cases the
 Ns_Log below crashes at dereferencing section and/or value
 ptrs.


 CONST char *
 Ns_ConfigString(CONST char *section, CONST char *key, CONST char *def)
 {
 CONST char *value;

 value = ConfigGet(section, key, 0, def);
 Ns_Log(Dev, config: %s:%s value=\%s\ default=\%s\ (string),
section, key, value, def);

 return value ? value : def;
 }



 --
 Create and Deploy Rich Internet Apps outside the browser with  
 Adobe(R)AIR(TM)
 software. With Adobe AIR, Ajax developers can use existing skills  
 and code to
 build responsive, highly engaging applications that combine the  
 power of local
 resources and data with the reach of the web. Download the Adobe AIR  
 SDK and
 Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
 ___
 naviserver-devel mailing list
 naviserver-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/naviserver-devel



--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Config error

2009-02-05 Thread Vlad Seryakov
On Linux it just should show null because underlying snprintf handles NULLs 
pretty well

Vasiljevic Zoran wrote:
 Hi!
 
 It seems that we have problems if Dev logging is enabled.
 By definition the ConfigGet may return NULL. Also the value
 of the section param passed to this (below) and other
 similar functions may also be NULL. In such cases the
 Ns_Log below crashes at dereferencing section and/or value
 ptrs.
 
 
 CONST char *
 Ns_ConfigString(CONST char *section, CONST char *key, CONST char *def)
 {
  CONST char *value;
 
  value = ConfigGet(section, key, 0, def);
  Ns_Log(Dev, config: %s:%s value=\%s\ default=\%s\ (string),
 section, key, value, def);
 
  return value ? value : def;
 }
 
 
 
 --
 Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
 software. With Adobe AIR, Ajax developers can use existing skills and code to
 build responsive, highly engaging applications that combine the power of local
 resources and data with the reach of the web. Download the Adobe AIR SDK and
 Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
 ___
 naviserver-devel mailing list
 naviserver-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/naviserver-devel
 

--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Config error

2009-02-05 Thread Vasiljevic Zoran

On 05.02.2009, at 17:47, Vlad Seryakov wrote:

 On Linux it just should show null because underlying snprintf  
 handles NULLs pretty well


On Solaris, it cores all arround.


--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Config error

2009-02-05 Thread Vlad Seryakov
The reason i think because Ns_DStringPrintf now uses OS's snprintf, before that 
it uses home-grown sprintf-like engine.

Vasiljevic Zoran wrote:
 On 05.02.2009, at 17:47, Vlad Seryakov wrote:
 
 On Linux it just should show null because underlying snprintf  
 handles NULLs pretty well
 
 
 On Solaris, it cores all arround.
 
 
 --
 Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
 software. With Adobe AIR, Ajax developers can use existing skills and code to
 build responsive, highly engaging applications that combine the power of local
 resources and data with the reach of the web. Download the Adobe AIR SDK and
 Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
 ___
 naviserver-devel mailing list
 naviserver-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/naviserver-devel
 

--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Config error

2009-02-05 Thread Stephen Deasey
On Thu, Feb 5, 2009 at 5:21 PM, Vasiljevic Zoran z...@archiware.com wrote:

 On 05.02.2009, at 18:14, Vlad Seryakov wrote:

 The reason i think because Ns_DStringPrintf now uses OS's snprintf,
 before that it uses home-grown sprintf-like engine.


Yeah, all uses of printf-like functions throughout the code base need
to be checked. I know at least I've been sloppy about this.


 Most probably. But that will not help us of course.
 I will need to learn this brave new code
 repository thing...


Don't forget to sign up with bitbucket.org and tell me your username.

You'll be able to clone (checkout) and commit (locally) no problem as
is, but you need to be authorized to push back.

--
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel