X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fmarc_read_iso2709.c;h=8193729375555f1835978964d3870e93c96995ad;hp=00fedbb9ee1766861e7df7720861775a90e7a7b4;hb=6b3366d135740d9ab37bdcd3f00b115fedf30a9d;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/src/marc_read_iso2709.c b/src/marc_read_iso2709.c index 00fedbb..8193729 100644 --- a/src/marc_read_iso2709.c +++ b/src/marc_read_iso2709.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -36,7 +36,11 @@ int yaz_marc_read_iso2709(yaz_marc_t mt, const char *buf, int bsize) yaz_marc_reset(mt); - record_length = atoi_n (buf, 5); + if (!atoi_n_check(buf, 5, &record_length)) + { + yaz_marc_cprintf(mt, "Bad leader"); + return -1; + } if (record_length < 25) { yaz_marc_cprintf(mt, "Record length %d < 24", record_length);