Commit b887aab604835c78b72ad27734dff528cb126c49

Stefan Sperling 2020-03-18T16:10:32

plug leaks in error path of got_privsep_recv_fetch_progress()

diff --git a/lib/privsep.c b/lib/privsep.c
index 31b2266..868e4fb 100644
--- a/lib/privsep.c
+++ b/lib/privsep.c
@@ -503,9 +503,16 @@ got_privsep_recv_fetch_progress(struct got_object_id **refid,
 		}
 		break;
 	default:
-		return got_error(GOT_ERR_PRIVSEP_MSG);
+		err = got_error(GOT_ERR_PRIVSEP_MSG);
+		break;
 	}
 
+	if (err) {
+		free(*refid);
+		*refid = NULL;
+		free(*refname);
+		*refname = NULL;
+	}
 	imsg_free(&imsg);
 	return err;
 }