From: Adam Dickmeiss Date: Wed, 22 Feb 1995 15:24:14 +0000 (+0000) Subject: Function iso2709_cvt makes a litte check for the format. It returns X-Git-Url: http://lists.indexdata.dk/?a=commitdiff_plain;h=5e33dc88f443af0f5b6693f13dc7ee8992ab6ca7;p=egate.git Function iso2709_cvt makes a litte check for the format. It returns NULL if the buffer parameter can never be a MARC record. --- diff --git a/util/iso2709.c b/util/iso2709.c index 1bd46e3..7fe03c1 100644 --- a/util/iso2709.c +++ b/util/iso2709.c @@ -4,9 +4,13 @@ Europagate, 1994-1995. $Log: iso2709.c,v $ - Revision 1.4 1995/02/15 17:45:44 adam - Bug fix in iso2709 module. + Revision 1.5 1995/02/22 15:24:14 adam + Function iso2709_cvt makes a litte check for the format. It returns + NULL if the buffer parameter can never be a MARC record. + * Revision 1.4 1995/02/15 17:45:44 adam + * Bug fix in iso2709 module. + * * Revision 1.3 1995/02/10 17:05:18 adam * New function iso2709_display to display MARC records in a * line-by-line format. The iso2709_cvt function no longer @@ -100,6 +104,11 @@ Iso2709Rec iso2709_cvt (const char *buf) p->base_address = atoin (buf+12, 4); strncpyx (p->user_systems, buf+17, 3); + if (p->record_length < 26) + { + free (p); + return NULL; + } p->length_data_entry = atoin (buf+20, 1); p->length_starting = atoin (buf+21, 1); p->length_implementation = atoin (buf+22, 1);