[316] Don't error on zero length persistence files.

Closes #316.

Bug: https://github.com/eclipse/mosquitto/issues/316
pull/223/merge
Roger A. Light 9 years ago
parent b5b5e6f27d
commit 7279e48191

@ -2,6 +2,7 @@ Broker:
- Fix crash when "lazy" type bridge attempts to reconnect. Closes #259.
- maximum_connections now applies to websockets listeners. Closes #271.
- Allow bridges to use TLS with IPv6.
- Don't error on zero length persistence files. Closes #316.
Client library:
- Clients can now use TLS with IPv6.

@ -813,7 +813,14 @@ int mqtt3_db_restore(struct mosquitto_db *db)
fptr = _mosquitto_fopen(db->config->persistence_filepath, "rb");
if(fptr == NULL) return MOSQ_ERR_SUCCESS;
read_e(fptr, &header, 15);
rlen = fread(&header, 1, 15, fptr);
if(rlen == 0){
fclose(fptr);
_mosquitto_log_printf(NULL, MOSQ_LOG_WARNING, "Warning: Persistence file is empty.");
return 0;
}else if(rlen != 15){
goto error;
}
if(!memcmp(header, magic, 15)){
// Restore DB as normal
read_e(fptr, &crc, sizeof(uint32_t));

Loading…
Cancel
Save