[asterisk-commits] dvossel: trunk r263904 - /trunk/main/strings.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue May 18 17:48:56 CDT 2010


Author: dvossel
Date: Tue May 18 17:48:51 2010
New Revision: 263904

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=263904
Log:
fixes segfault on logging 

(closes issue #17331)
Reported by: under
Patches:
      utils.diff uploaded by under (license 914)
      segfault_on_logging.diff uploaded by dvossel (license 671)
Tested by: under, dvossel

Modified:
    trunk/main/strings.c

Modified: trunk/main/strings.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/strings.c?view=diff&rev=263904&r1=263903&r2=263904
==============================================================================
--- trunk/main/strings.c (original)
+++ trunk/main/strings.c Tue May 18 17:48:51 2010
@@ -77,13 +77,14 @@
 		 * reallocate the buffer and return a message telling to retry.
 		 */
 		if (need > (*buf)->__AST_STR_LEN && (max_len == 0 || (*buf)->__AST_STR_LEN < max_len) ) {
+			int len = (int)(*buf)->__AST_STR_LEN;
 			if (max_len && max_len < need) {	/* truncate as needed */
 				need = max_len;
 			} else if (max_len == 0) {	/* if unbounded, give more room for next time */
 				need += 16 + need / 4;
 			}
 			if (0) {	/* debugging */
-				ast_verbose("extend from %d to %d\n", (int)(*buf)->__AST_STR_LEN, need);
+				ast_verbose("extend from %d to %d\n", len, need);
 			}
 			if (
 #if (defined(MALLOC_DEBUG) && !defined(STANDALONE))
@@ -92,7 +93,7 @@
 					ast_str_make_space(buf, need)
 #endif
 				) {
-				ast_verbose("failed to extend from %d to %d\n", (int)(*buf)->__AST_STR_LEN, need);
+				ast_verbose("failed to extend from %d to %d\n", len, need);
 				va_end(aq);
 				return AST_DYNSTR_BUILD_FAILED;
 			}




More information about the asterisk-commits mailing list