Commit Diff


commit - a06ca3f74892062294f3752ab15a9e5d7778a106
commit + 21017333f16f38ad9e8eb5d478bddf3397d4af05
blob - 4c4e3bbe901a58b588c927fbd65dd7620b43e919
blob + 3c1f5eebe793a2f895a8529b13cdad48e3f9ccb0
--- lib/opentemp.c
+++ lib/opentemp.c
@@ -34,8 +34,12 @@ got_opentempfd(void)
 		return -1;
 
 	fd = mkstemp(name);
-	if (fd != -1)
-		unlink(name);
+	if (fd != -1) {
+		if (unlink(name) == -1) {
+			close(fd);
+			return -1;
+		}
+	}
 	return fd;
 }