diff -up scrub-2.6.1/src/fillfile.c.analyzer-fixes scrub-2.6.1/src/fillfile.c --- scrub-2.6.1/src/fillfile.c.analyzer-fixes 2021-03-18 10:42:37.201845461 -0400 +++ scrub-2.6.1/src/fillfile.c 2021-03-18 10:43:38.358151439 -0400 @@ -131,10 +131,13 @@ refill_init(struct memstruct **mpp, refi if (!(mp = malloc(sizeof(struct memstruct)))) goto nomem; - if (!(mp->buf = malloc(memsize))) + if (!(mp->buf = malloc(memsize))) { + free(mp); goto nomem; + } mp->size = memsize; mp->refill = refill; + mp->thd = 0; #if WITH_PTHREADS if (!no_threads) { if ((mp->err = pthread_create(&mp->thd, NULL, refill_thread, mp))) { diff -up scrub-2.6.1/src/scrub.c.analyzer-fixes scrub-2.6.1/src/scrub.c diff -up scrub-2.6.1/src/sig.c.analyzer-fixes scrub-2.6.1/src/sig.c --- scrub-2.6.1/src/sig.c.analyzer-fixes 2021-03-18 10:44:20.715363360 -0400 +++ scrub-2.6.1/src/sig.c 2021-03-18 10:44:54.319531489 -0400 @@ -74,7 +74,7 @@ writesig(char *path) goto nomem; if ((fd = open(path, O_RDWR)) < 0) goto error; - if ((n = read_all(fd, buf, blocksize)) < 0) + if (read_all(fd, buf, blocksize) < 0) goto error; memcpy(buf, SCRUB_MAGIC, sizeof(SCRUB_MAGIC)); if (lseek(fd, 0, SEEK_SET) < 0)