|
|
| version 1.4, 2003/08/26 20:49:47 | version 1.5, 2004/04/22 04:21:29 |
|---|---|
| Line 345 bsd_alloc(options, opt_len, decomp) | Line 345 bsd_alloc(options, opt_len, decomp) |
| maxmaxcode = MAXCODE(bits); | maxmaxcode = MAXCODE(bits); |
| newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0])); | newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0])); |
| MALLOC(db, struct bsd_db *, newlen, M_DEVBUF, M_NOWAIT); | MALLOC(db, struct bsd_db *, newlen, M_DEVBUF, M_WAITOK); |
| if (!db) | |
| return NULL; | |
| bzero(db, sizeof(*db) - sizeof(db->dict)); | bzero(db, sizeof(*db) - sizeof(db->dict)); |
| if (!decomp) { | if (!decomp) { |
| db->lens = NULL; | db->lens = NULL; |
| } else { | } else { |
| MALLOC(db->lens, u_int16_t *, (maxmaxcode+1) * sizeof(db->lens[0]), | MALLOC(db->lens, u_int16_t *, (maxmaxcode+1) * sizeof(db->lens[0]), |
| M_DEVBUF, M_NOWAIT); | M_DEVBUF, M_WAITOK); |
| if (!db->lens) { | |
| free(db, M_DEVBUF); | |
| return NULL; | |
| } | |
| } | } |
| db->totlen = newlen; | db->totlen = newlen; |