libhfuzz: smaller fixes
diff --git a/libhfuzz/memorycmp.c b/libhfuzz/memorycmp.c index c8c4e79..855e695 100644 --- a/libhfuzz/memorycmp.c +++ b/libhfuzz/memorycmp.c
@@ -279,8 +279,10 @@ size_t slen = __builtin_strlen(src); size_t len = slen < n ? slen : n; - instrumentUpdateCmpMap(addr, util_Log2(len)); - instrumentAddConstMem(src, len, /* check_if_ro= */ true); + if (len > 0) { + instrumentUpdateCmpMap(addr, util_Log2(len)); + instrumentAddConstMem(src, len, /* check_if_ro= */ true); + } __builtin_memcpy(dest + dlen, src, len); dest[dlen + len] = '\0';
diff --git a/libhfuzz/persistent.c b/libhfuzz/persistent.c index 7460cfa..d9dcf29 100644 --- a/libhfuzz/persistent.c +++ b/libhfuzz/persistent.c
@@ -91,11 +91,17 @@ if (len < 0) { LOG_E("Couldn't read data from stdin: %s", strerror(errno)); free(buf); + if (in_fd != STDIN_FILENO) { + close(in_fd); + } return -1; } HonggfuzzRunOneInput(buf, len); free(buf); + if (in_fd != STDIN_FILENO) { + close(in_fd); + } return 0; }