From 6680c2b22edc635ae7a2ff26f0c2fe0990d2d1fe Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 19 Nov 2015 08:18:13 +0100 Subject: [PATCH] Fixed bug #70940 Segfault in soep / type_to_string --- ext/soap/soap.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 6da617a983f..4c746aaf29d 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -4802,7 +4802,9 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level) enc = enc->details.sdl_type->encode; } if (enc) { - smart_str_appendl(buf, ZSTR_VAL(spaces.s), ZSTR_LEN(spaces.s)); + if (spaces.s) { + smart_str_appendl(buf, ZSTR_VAL(spaces.s), ZSTR_LEN(spaces.s)); + } smart_str_appendc(buf, ' '); smart_str_appendl(buf, type->encode->details.type_str, strlen(type->encode->details.type_str)); smart_str_appendl(buf, " _;\n", 4); @@ -4815,7 +4817,9 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level) sdlAttributePtr attr; ZEND_HASH_FOREACH_PTR(type->attributes, attr) { - smart_str_appendl(buf, ZSTR_VAL(spaces.s), ZSTR_LEN(spaces.s)); + if (spaces.s) { + smart_str_appendl(buf, ZSTR_VAL(spaces.s), ZSTR_LEN(spaces.s)); + } smart_str_appendc(buf, ' '); if (attr->encode && attr->encode->details.type_str) { smart_str_appends(buf, attr->encode->details.type_str);