Factual error: When Petersen is first confronted by Col. Kirby for pilfering from his unit, Petersen neither comes to attention nor salutes Col Kirby (he should have done this as soon as he saw the Col.) This is such a huge breach of military courtesy, that one of the senior NCOs , if not Col. Kirby himself, would have called him on it instantly.
Factual error: When the Navy Lt. shows up at Camp Aavoy 29, he states that he is part of the 91st Sea Bees. However when you see him driving his bulldozer, it is marked U.S. ARMY. The Sea Bees are part of the Navy and have their own equipment.
Factual error: After returning to camp Savoy 29, Cpt. Nimh states that he wants to go home to Hanoi but first he wants to "kill all filthy stinking cong." The civil war in Vietnam was between the Republic of South Vietnam and the Viet Cong. North Vietnam (the capitol of which is Hanoi) was a separate country that aided the Viet Cong. So even if Cpt. Nimh killed every single "filthy stinking Cong" in South Vietnam, North Vietnam would still be communist, and he still couldn't go home.
Factual error: The kid that Peterson takes under his wing calls him "Peter San." That's Japanese, not Vietnamese.