Suppose we have m data bits and n parity bits. In order for the Hamming code to function: $$m+n<2^n-1$$
If we have 3 parity bits we can have up to 4 data bits. But lets say we don't have 4 data bits but instead we have 3 data bits.
What will happen then?
Lets assume a error happens during the transmission of the data:
$$D3D2P3D1P2P1 -> D3'D2'P3D1'P2P1$$
Given odd or even parity, which data bits do we have to check for each parity bits at the receiver now?
If we had 4 data bits for P1->f(D1',D2',D4') , P2->f(D1',D3',D4') , P3->f(D3',D4',D5').