X-Git-Url: http://git.indexdata.com/?p=simpleserver-moved-to-github.git;a=blobdiff_plain;f=SimpleServer.xs;h=74d22814e99aa6368e13c800e481b6b7bdd1cda8;hp=aa020fab9b43f56b7438ccabd5e59f182600004a;hb=ab2ce62608c39f599a199ee62fe2a22127c0b251;hpb=ed627e79a3daaca57c8652b426e21fef544e1992 diff --git a/SimpleServer.xs b/SimpleServer.xs index aa020fa..74d2281 100644 --- a/SimpleServer.xs +++ b/SimpleServer.xs @@ -25,7 +25,10 @@ */ /*$Log: SimpleServer.xs,v $ -/*Revision 1.7 2001-03-13 14:17:15 sondberg +/*Revision 1.8 2001-05-21 11:07:02 sondberg +/*Extended maximum numbers of GRS-1 elements. Should be done dynamically. +/* +/*Revision 1.7 2001/03/13 14:17:15 sondberg /*Added support for GRS-1. /**/ @@ -40,7 +43,7 @@ #include #include #include -#define GRS_MAX_FIELDS 50 +#define GRS_MAX_FIELDS 500 #ifdef ASN_COMPILED #include #endif @@ -122,6 +125,11 @@ Z_GenericRecord *read_grs1(char *str, ODR o) odr_malloc(o, sizeof(Z_TaggedElement*) * GRS_MAX_FIELDS); r->num_elements = 0; } + if (r->num_elements > GRS_MAX_FIELDS) + { + yaz_log(LOG_WARN, "Max number of GRS-1 elements exceeded [GRS_MAX_FIELDS=%d]", GRS_MAX_FIELDS); + exit(0); + } r->elements[r->num_elements] = t = (Z_TaggedElement *) odr_malloc(o, sizeof(Z_TaggedElement)); t->tagType = (int *)odr_malloc(o, sizeof(int)); *t->tagType = type;