The pg_basebackup code has WalSegSz as uint32, whereas the rest of the code has it as int. This seems confusing, and using the extra range wouldn't actually work. This was in the original commit (fc49e24fa6), but I suppose it was an oversight.