Yes, works fine now, Thanks
Stephen Deasey wrote:
> On 10/13/07, Vlad Seryakov <[EMAIL PROTECTED]> wrote:
>> I was able to find the location which causes the crash but i am not sure
>> how to fix it
>>
>> In function Ns_VALog i call vsnprintf directly, it works, when it is
>> called via Ns_DStringVPintf it crashes. using va_copy does not help
>>
>
>
> diff -r 22a912b584eb nsd/dstring.c
> --- a/nsd/dstring.c Fri Oct 12 20:35:13 2007 +0100
> +++ b/nsd/dstring.c Sat Oct 13 19:46:22 2007 +0100
> @@ -176,10 +176,11 @@ Ns_DStringPrintf(Ns_DString *dsPtr, CONS
> */
>
> char *
> -Ns_DStringVPrintf(Ns_DString *dsPtr, CONST char *fmt, va_list ap)
> -{
> - char *buf;
> - int origLength, newLength, bufLength, result;
> +Ns_DStringVPrintf(Ns_DString *dsPtr, CONST char *fmt, va_list apSrc)
> +{
> + char *buf;
> + int origLength, newLength, bufLength, result;
> + va_list ap;
>
> origLength = dsPtr->length;
>
> @@ -205,11 +206,13 @@ Ns_DStringVPrintf(Ns_DString *dsPtr, CON
> buf = dsPtr->string + origLength;
> bufLength = newLength - origLength;
>
> + va_copy(ap, apSrc);
> #ifdef __WIN32
> result = _vsnprintf_s(buf, bufLength, fmt, ap);
> #else
> result = vsnprintf(buf, bufLength, fmt, ap);
> #endif
> + va_end(ap);
>
> /*
> * Check for overflow and retry. For win32 just double the buffer size
> @@ -229,11 +232,13 @@ Ns_DStringVPrintf(Ns_DString *dsPtr, CON
> buf = dsPtr->string + origLength;
> bufLength = newLength - origLength;
>
> + va_copy(ap, apSrc);
> #ifdef __WIN32
> result = _vsnprintf_s(buf, bufLength, fmt, ap);
> #else
> result = vsnprintf(buf, bufLength, fmt, ap);
> #endif
> + va_end(ap);
> }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> naviserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>
--
Vlad Seryakov
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
naviserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel