]> granicus.if.org Git - php/commitdiff
fix segfault on set break opline address
authorkrakjoe <joe.watkins@live.co.uk>
Wed, 13 Nov 2013 01:44:59 +0000 (01:44 +0000)
committerkrakjoe <joe.watkins@live.co.uk>
Wed, 13 Nov 2013 01:44:59 +0000 (01:44 +0000)
phpdbg_bp.c
phpdbg_print.c
phpdbg_utils.c

index b4defa1e7088893291efbaf1b20d7b16e5810d0f..988898f22edb831fcd823577e31d33342b3a2821 100644 (file)
@@ -143,7 +143,7 @@ void phpdbg_set_breakpoint_opline(zend_ulong opline TSRMLS_DC) /* {{{ */
 
                zend_hash_index_update(&PHPDBG_G(bp)[PHPDBG_BREAK_OPLINE], opline, &new_break, sizeof(phpdbg_breakline_t), NULL);
 
-           phpdbg_notice("Breakpoint #%d added at %#lx%s",
+           phpdbg_notice("Breakpoint #%d added at %#lx",
                        new_break.id, new_break.opline);
        } else {
            phpdbg_notice("Breakpoint exists at %#lx", opline);
index f5cbbd3eec7b4a052c9b2e7d73c1bc48d489a95d..2c4c7ab5bffedf04a2b713d2dd12f68b52c79fdf 100644 (file)
@@ -90,7 +90,7 @@ PHPDBG_PRINT(class) /* {{{ */
                            
                            default: {
                                phpdbg_writeln(
-                                   "\tInternal Method %s::%s()", (*ce)->name, method->common.function_name);
+                                   "\tInternal %s::%s()", (*ce)->name, method->common.function_name);
                            }
                         }
                    }
index 3c8606cc22ff2b29588361632f65cb3f588cb44b..fb2253528b7d76bf598e89832e3df5f7337e1f72 100644 (file)
@@ -74,11 +74,13 @@ int phpdbg_is_class_method(const char *str, size_t len, char **class, char **met
 void phpdbg_print(int type TSRMLS_DC, const char *format, ...) /* {{{ */
 {
        char *buffer = NULL;
-       va_list args;
+       va_list args = {0};
 
-       va_start(args, format);
-       vspprintf(&buffer, 0, format, args);
-       va_end(args);
+       if (format != NULL && strlen(format) > 0L) {
+           va_start(args, format);
+           vspprintf(&buffer, 0, format, args);
+           va_end(args);
+       }
 
     /* TODO(anyone) colours */