Character mistake: When Moss is arguing with the border guard at the Eagle Pass international bridge, he claims that he is a veteran of the "12th Infantry Battalion." There has never been such a thing as the 12th Infantry Battalion in either the Army or the Marines. Rather, they are based on a structure of 3-4 battalions per numbered regiment (i.e., 1st Battalion, 3rd Infantry Regiment/2nd Battalion, 5th Marine Regiment, etc). The film takes this seriously, as the guard, a veteran himself, buys Moss' story.
Factual error: When he first gets to Del Rio, Brolin's character buys a pair of Larry Mahan boots to replace the ones he lost at the river. He later hitch-hikes to Eagle Pass, gets wounded, and crosses to a hospital in Piedras Negras. He comes back into the Del Rio store for 'everything else', but he should still be in Eagle Pass, not Del Rio.