view barpainet.c @ 1206:e60bf67d9bf8 libavformat

The reader ignores the size of the ASF data object and keeps on reading even beyond it. Therefore if the ASF file includes an index object at its end, the reader will treat the index like data, but of course will fail since it thinks that the data is corrupted. When reading an asf file with an index object, ffmpeg will complain at the end of the file that it read an invalid header. Patch by Kohn Emil Dan, < emild A cs P technion P ac P il > Original thead: Date: Apr 18, 2006 4:11 PM Subject: [Ffmpeg-devel] Two ASF related bugs and fixes
author gpoirier
date Sat, 29 Jul 2006 16:07:19 +0000
parents d70e50f1495f
children 8bf9be9bb107
line wrap: on
line source


#include <stdlib.h>
#include <strings.h>
#include "barpainet.h"

int inet_aton (const char * str, struct in_addr * add) {
        const char * pch = str;
        unsigned int add1 = 0, add2 = 0, add3 = 0, add4 = 0;

        add1 = atoi(pch);
        pch = strpbrk(pch,".");
        if (pch == 0 || ++pch == 0) goto done;
        add2 = atoi(pch);
        pch = strpbrk(pch,".");
        if (pch == 0 || ++pch == 0) goto done;
        add3 = atoi(pch);
        pch = strpbrk(pch,".");
        if (pch == 0 || ++pch == 0) goto done;
        add4 = atoi(pch);

done:
        add->s_addr=(add4<<24)+(add3<<16)+(add2<<8)+add1;

        return 1;
}