X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fm_getfld2.c;h=954ed331cef3e8c4811e8874051ea4bfde3b7d0e;hb=4f230b2e91103abc77dcc41c46a59ba2041a2248;hp=488a445cd0da0aa59d54130f36d8c530b20d5863;hpb=2fb1dd2271e5be9d0b0c9cbd4e7d6d5d51aaecb9;p=mmh diff --git a/sbr/m_getfld2.c b/sbr/m_getfld2.c index 488a445..954ed33 100644 --- a/sbr/m_getfld2.c +++ b/sbr/m_getfld2.c @@ -62,7 +62,7 @@ m_getfld2(enum state s, struct field *f, FILE *msg) } } - if (nchars >= NAMESZ) { + if (nchars > NAMESZ) { ret = LENERR2; } @@ -103,6 +103,10 @@ m_getfld2(enum state s, struct field *f, FILE *msg) return IOERR2; } + if (nchars > NAMESZ) { + ret = LENERR2; + } + if (*(tmpline + nchars - 1) != '\n') { ret = FMTERR2; } @@ -141,10 +145,6 @@ m_getfld2(enum state s, struct field *f, FILE *msg) } } - if (nchars >= NAMESZ) { - ret = LENERR2; - } - free(f->value); f->value = tmpline; f->valuelen = nchars;