It's "legal", but it's awfully tight. If you miss the DFW-KEF flight due to weather or ATC issues, you're basically stuck overnight til the next flight - assuming there are seats.
There are surely earlier CLT-DFW flights you could get with a longer connection time and more peace of mind.