Skip to content

Commit fbde009

Browse files
committed
fix node-red crash with invalid mqtt birth topic
fixes node-red#3865
1 parent 5365786 commit fbde009

File tree

1 file changed

+14
-7
lines changed
  • packages/node_modules/@node-red/nodes/core/network

1 file changed

+14
-7
lines changed

packages/node_modules/@node-red/nodes/core/network/10-mqtt.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -991,14 +991,21 @@ module.exports = function(RED) {
991991
}
992992

993993
if (topicOK) {
994-
node.client.publish(msg.topic, msg.payload, options, function(err) {
995-
done && done(err);
996-
return
997-
});
994+
node.client.publish(msg.topic, msg.payload, options, function (err) {
995+
if (done) {
996+
done(err)
997+
} else {
998+
node.error(err, msg)
999+
}
1000+
})
9981001
} else {
999-
const error = new Error(RED._("mqtt.errors.invalid-topic"));
1000-
error.warn = true;
1001-
done(error);
1002+
const error = new Error(RED._("mqtt.errors.invalid-topic"))
1003+
error.warn = true
1004+
if (done) {
1005+
done(error)
1006+
} else {
1007+
node.warn(error, msg)
1008+
}
10021009
}
10031010
}
10041011
};

0 commit comments

Comments
 (0)