Michael S. answered 14d
B.S. in Chemistry, Indiana University; Organic Chem Teaching Intern
0.876 g HF and 2.98 g NaF.
This is two equations in two unknowns. The pH fixes the ratio of the components; the osmotic pressure fixes the total. Neither alone is enough, so set both up before solving anything.
Equation 1, from pH (Henderson-Hasselbalch):
3.39 = 3.18 + log([F-]/[HF]), so log([F-]/[HF]) = 0.21
[F-]/[HF] = 100.21 = 1.622
Equation 2, from osmotic pressure. Using the van't Hoff relation with M as the total concentration of dissolved particles:
M = π/RT = 1.95 / [(0.08206)(298)] = 0.07974 mol/L of particles
Here is the step that decides the problem. Osmotic pressure is colligative: it counts particles, not formulas. NaF dissociates completely, as the problem tells you, so each mole contributes two particles, Na+ and F-. HF is a weak acid and stays essentially intact, contributing one. Writing a for [HF] and b for [NaF]:
a + 2b = 0.07974
Substituting b = 1.622a:
a(1 + 2 × 1.622) = 0.07974, so a(4.244) = 0.07974
[HF] = 0.01879 M and [NaF] = 1.622(0.01879) = 0.03048 M
Convert to masses in 2.33 L, with M(HF) = 20.01 g/mol and M(NaF) = 41.99 g/mol:
HF: (0.01879)(2.33)(20.01) = 0.876 g
NaF: (0.03048)(2.33)(41.99) = 2.98 g
The sodium is the trap worth remembering. If you treat NaF as one particle you get a(1 + 1.622) = 0.07974, which hands you [HF] = 0.0304 M and masses about 60% too high. Nothing in the arithmetic looks wrong afterwards, so the error survives all the way to the answer. Whenever a colligative property appears alongside an ionic compound, count the ions first.
A check you can run: the F-/HF ratio is 1.62, comfortably between 0.1 and 10, so this is a legitimate buffer. That matches the pH sitting only 0.21 units above the pKa, which is exactly where a working buffer should be.