For this particular example, where the arguments to sprintf are static, the unbounded copy is probably ok but it is definitely a problem when copying user-controlled data. Check out my blog post for more information about how an sprintf can be disastrous to security: