From a33667e77c497b4b3f869fdf5d0fb97896363780 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 2 Jun 2010 15:50:18 +0200 Subject: [PATCH] Detect and throw Present Out of Range diagnostic --- src/filter_multi.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/filter_multi.cpp b/src/filter_multi.cpp index 61d001c..8ddc5a8 100644 --- a/src/filter_multi.cpp +++ b/src/filter_multi.cpp @@ -766,6 +766,14 @@ void yf::Multi::Frontend::present(mp::Package &package, Z_APDU *apdu_req) f_resp->records = z_records_diag; *f_resp->presentStatus = Z_PresentStatus_failure; } + else if (number < 0 || number > jobs.size()) + { + f_apdu = + odr.create_presentResponse( + apdu_req, + YAZ_BIB1_PRESENT_REQUEST_OUT_OF_RANGE, + 0); + } else { f_resp->records = (Z_Records *) odr_malloc(odr, sizeof(Z_Records)); -- 1.7.10.4