projects
/
m6w6
/
ext-http
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (parent:
fb8b98d
)
- fix SEGV on un/serializing HttpRequests
author
Michael Wallner
<mike@php.net>
Mon, 4 Dec 2006 08:21:55 +0000
(08:21 +0000)
committer
Michael Wallner
<mike@php.net>
Mon, 4 Dec 2006 08:21:55 +0000
(08:21 +0000)
http_message_object.c
patch
|
blob
|
history
diff --git
a/http_message_object.c
b/http_message_object.c
index 3adbb273e76c523c3ce869aa1ac31ab0293718b8..a04cfe9aef8c4dd4cc2858d1121aa554bccf6a91 100644
(file)
--- a/
http_message_object.c
+++ b/
http_message_object.c
@@
-1278,8
+1278,12
@@
PHP_METHOD(HttpMessage, unserialize)
getObject(http_message_object, obj);
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &serialized, &length)) {
getObject(http_message_object, obj);
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &serialized, &length)) {
+ http_message *msg;
+
http_message_dtor(obj->message);
http_message_dtor(obj->message);
- if (!http_message_parse_ex(obj->message, serialized, (size_t) length)) {
+ if ((msg = http_message_parse_ex(obj->message, serialized, (size_t) length))) {
+ obj->message = msg;
+ } else {
http_error(HE_ERROR, HTTP_E_RUNTIME, "Could not unserialize HttpMessage");
http_message_init(obj->message);
}
http_error(HE_ERROR, HTTP_E_RUNTIME, "Could not unserialize HttpMessage");
http_message_init(obj->message);
}