X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/b10c87b38c2345d15d30da5c18c823355ac506a9..1d28cc061677bd07d9bed48dd84bd5c590247043:/src/src/enq.c diff --git a/src/src/enq.c b/src/src/enq.c index 7feba5531..43f53a585 100644 --- a/src/src/enq.c +++ b/src/src/enq.c @@ -3,7 +3,9 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) The Exim Maintainers 2021 */ /* See the file NOTICE for conditions of use and distribution. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* Functions concerned with serialization. */ @@ -53,7 +55,7 @@ if (!(dbm_file = dbfn_open(US"misc", O_RDWR, &dbblock, TRUE, TRUE))) /* See if there is a record for this host or queue run; if there is, we cannot proceed with the connection unless the record is very old. */ -serial_record = dbfn_read(dbm_file, key); +serial_record = dbfn_read_enforce_length(dbm_file, key, sizeof(dbdata_serialize)); if (serial_record && time(NULL) - serial_record->time_stamp < 6*60*60) { if (serial_record->count >= lim) @@ -102,7 +104,7 @@ dbdata_serialize *serial_record; DEBUG(D_transport) debug_printf("end serialized: %s\n", key); if ( !(dbm_file = dbfn_open(US"misc", O_RDWR, &dbblock, TRUE, TRUE)) - || !(serial_record = dbfn_read(dbm_file, key)) + || !(serial_record = dbfn_read_enforce_length(dbm_file, key, sizeof(dbdata_serialize))) ) return; if (--serial_record->count > 0)