util/nvmutil: don't reallocate memory in hextonum
parent
e5a46b464d
commit
0bf3f1ed61
|
@ -217,24 +217,26 @@ uint8_t
|
||||||
hextonum(char chs)
|
hextonum(char chs)
|
||||||
{
|
{
|
||||||
uint8_t val8, ch;
|
uint8_t val8, ch;
|
||||||
static int macfd;
|
static int macfd = -1;
|
||||||
static uint8_t *rbuf = NULL;
|
static uint8_t *rbuf = NULL;
|
||||||
static size_t rindex;
|
static size_t rindex = BUFSIZ;
|
||||||
if (rindex == BUFSIZ) {
|
|
||||||
close(macfd);
|
if ((rindex == BUFSIZ)) {
|
||||||
free(rbuf);
|
|
||||||
rbuf = NULL;
|
|
||||||
}
|
|
||||||
if (rbuf == NULL) {
|
|
||||||
rindex = 0;
|
rindex = 0;
|
||||||
|
if (rbuf == NULL)
|
||||||
if ((rbuf = (uint8_t *) malloc(BUFSIZ)) == NULL)
|
if ((rbuf = (uint8_t *) malloc(BUFSIZ)) == NULL)
|
||||||
err(1, NULL);
|
err(1, NULL);
|
||||||
|
if ((macfd != -1)) {
|
||||||
|
close(macfd);
|
||||||
|
macfd = -1;
|
||||||
|
}
|
||||||
if (readFromFile(&macfd, rbuf, "/dev/urandom", O_RDONLY,
|
if (readFromFile(&macfd, rbuf, "/dev/urandom", O_RDONLY,
|
||||||
BUFSIZ) != BUFSIZ) {
|
BUFSIZ) != BUFSIZ) {
|
||||||
warn("%s", "/dev/urandom");
|
warn("%s", "/dev/urandom");
|
||||||
return 16;
|
return 16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ch = (uint8_t) chs;
|
ch = (uint8_t) chs;
|
||||||
|
|
||||||
if ((ch >= '0') && ch <= '9') {
|
if ((ch >= '0') && ch <= '9') {
|
||||||
|
|
Loading…
Reference in New Issue