Commit 104d0418 authored by Joakim Plate's avatar Joakim Plate Committed by Benoit Fouet

fix emulated inet_aton so that it fails for invalid addresses

patch by elupus: \elupus ecce se/
original thread:
[FFmpeg-devel] [PATCH] emulated inet_aton doesn't fail for invalidaddresses
date: 07/15/2007 12:40 AM

Originally committed as revision 9731 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent f1752010
...@@ -46,16 +46,17 @@ int inet_aton (const char * str, struct in_addr * add) ...@@ -46,16 +46,17 @@ int inet_aton (const char * str, struct in_addr * add)
add1 = atoi(pch); add1 = atoi(pch);
pch = strpbrk(pch,"."); pch = strpbrk(pch,".");
if (pch == 0 || ++pch == 0) goto done; if (pch == 0 || ++pch == 0) return 0;
add2 = atoi(pch); add2 = atoi(pch);
pch = strpbrk(pch,"."); pch = strpbrk(pch,".");
if (pch == 0 || ++pch == 0) goto done; if (pch == 0 || ++pch == 0) return 0;
add3 = atoi(pch); add3 = atoi(pch);
pch = strpbrk(pch,"."); pch = strpbrk(pch,".");
if (pch == 0 || ++pch == 0) goto done; if (pch == 0 || ++pch == 0) return 0;
add4 = atoi(pch); add4 = atoi(pch);
done: if (!add1 || (add1|add2|add3|add4) > 255) return 0;
add->s_addr=(add4<<24)+(add3<<16)+(add2<<8)+add1; add->s_addr=(add4<<24)+(add3<<16)+(add2<<8)+add1;
return 1; return 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment