diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-01-29 22:08:52 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-01-29 22:08:52 +0100 |
commit | 7803f04b8efafefe83311133916151d157220ffb (patch) | |
tree | 37413502f6c0632ef50d6ed0d693f7e696acbab7 /libdtv | |
parent | 7b475c6f9673663f4953130f9b3a047253ccad94 (diff) | |
download | vdr-7803f04b8efafefe83311133916151d157220ffb.tar.gz vdr-7803f04b8efafefe83311133916151d157220ffb.tar.bz2 |
Fixed handling improper buffer lengths in the EIT parser0.9.9pre3
Diffstat (limited to 'libdtv')
-rw-r--r-- | libdtv/libsi/include/libsi.h | 4 | ||||
-rw-r--r-- | libdtv/libsi/si_parser.c | 16 |
2 files changed, 10 insertions, 10 deletions
diff --git a/libdtv/libsi/include/libsi.h b/libdtv/libsi/include/libsi.h index dda2b1e4..29079b10 100644 --- a/libdtv/libsi/include/libsi.h +++ b/libdtv/libsi/include/libsi.h @@ -946,9 +946,9 @@ struct Pid *siParsePMT (u_char *); struct LIST *siParseSDT (u_char *); struct LIST *siParseEIT (u_char *); time_t siParseTDT (u_char *); -void siParseDescriptors (struct LIST *, u_char *, u_int, u_char); +void siParseDescriptors (struct LIST *, u_char *, int, u_char); void siParseDescriptor (struct LIST *, u_char *); -char *siGetDescriptorText (u_char *, u_int); +char *siGetDescriptorText (u_char *, int); u_long crc32 (char *data, int len); /* si_debug_services.c */ diff --git a/libdtv/libsi/si_parser.c b/libdtv/libsi/si_parser.c index 76d72c8f..e6ca5252 100644 --- a/libdtv/libsi/si_parser.c +++ b/libdtv/libsi/si_parser.c @@ -40,7 +40,7 @@ struct LIST *siParsePAT (u_char *Buffer) pat_t *Pat; pat_prog_t *PatProgram; u_char *Ptr; - u_int SectionLength; + int SectionLength; int TransportStreamID; int PatVersion; struct Program *Program; @@ -87,7 +87,7 @@ struct Pid *siParsePMT (u_char *Buffer) pmt_t *Pmt; pmt_info_t *PmtInfo; u_char *Ptr; - u_int SectionLength, ProgramInfoLength, + int SectionLength, ProgramInfoLength, StreamLength, LoopLength; int ProgramID; int PcrID; @@ -150,7 +150,7 @@ struct LIST *siParseSDT (u_char *Buffer) sdt_t *Sdt; sdt_descr_t *SdtDescriptor; u_char *Ptr; - u_int SectionLength, LoopLength; + int SectionLength, LoopLength; int TransportStreamID; int SdtVersion; int OriginalNetworkID; @@ -229,7 +229,7 @@ struct LIST *siParseEIT (u_char *Buffer) eit_t *Eit; eit_event_t *EitEvent; u_char *Ptr; - u_int SectionLength, LoopLength; + int SectionLength, LoopLength; int ServiceID; int EitVersion; int TransportStreamID; @@ -316,7 +316,7 @@ time_t siParseTDT (u_char *Buffer) { tdt_t *Tdt; u_char *Ptr; - u_int SectionLength; + int SectionLength; int TdtVersion; time_t CurrentTime; @@ -339,9 +339,9 @@ time_t siParseTDT (u_char *Buffer) void siParseDescriptors (struct LIST *Descriptors, u_char *Buffer, - u_int Length, u_char TableID) + int Length, u_char TableID) { - u_int DescriptorLength; + int DescriptorLength; u_char *Ptr; DescriptorLength = 0; @@ -838,7 +838,7 @@ void siParseDescriptor (struct LIST *Descriptors, u_char *Buffer) /* * ToDo: ETSI conformal text definition */ -char *siGetDescriptorText (u_char *Buffer, u_int Length) +char *siGetDescriptorText (u_char *Buffer, int Length) { char *tmp, *result; int i; |