Skip to content

Commit

Permalink
Merge pull request #54 from argakon/master
Browse files Browse the repository at this point in the history
Fixed critical segfault, memory leak and default keepalive
  • Loading branch information
mgdm committed Oct 22, 2016
2 parents cfaeed1 + 773e6c4 commit f84cb8f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
9 changes: 7 additions & 2 deletions mosquitto.c
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ PHP_METHOD(Mosquitto_Client, connect)
mosquitto_strlen_type host_len, interface_len;
int retval;
zend_long port = 1883;
zend_long keepalive = 0;
zend_long keepalive = 60;

PHP_MOSQUITTO_ERROR_HANDLING();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lls!",
Expand Down Expand Up @@ -1147,7 +1147,12 @@ PHP_MOSQUITTO_API void php_mosquitto_message_callback(struct mosquitto *mosq, vo

object_init_ex(message_zval, mosquitto_ce_message);
message_object = mosquitto_message_object_from_zend_object(Z_OBJ_P(message_zval));
mosquitto_message_copy(&message_object->message, message);
message_object->message.mid = message->mid;
message_object->message.qos = message->qos;
message_object->message.retain = message->retain;
message_object->message.topic = message->topic;
message_object->message.payload = message->payload;
message_object->message.payloadlen = message->payloadlen;

object->message_callback.params = params;
object->message_callback.param_count = 1;
Expand Down
5 changes: 4 additions & 1 deletion mosquitto_message.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,9 +487,12 @@ void php_mosquitto_message_add_property(HashTable *h, const char *name, size_t n
static void mosquitto_message_object_destroy(zend_object *object TSRMLS_DC)
{
mosquitto_message_object *message = mosquitto_message_object_from_zend_object(object);
#ifdef ZEND_ENGINE_3
zend_object_std_dtor(object);
#else
zend_hash_destroy(message->std.properties);
FREE_HASHTABLE(message->std.properties);

#endif
if (message->owned_topic == 1) {
efree(message->message.topic);
}
Expand Down

0 comments on commit f84cb8f

Please sign in to comment.