diff --git a/src/driver/pictureviewer/crw.cpp b/src/driver/pictureviewer/crw.cpp index 16bba96fb..83a0c0532 100644 --- a/src/driver/pictureviewer/crw.cpp +++ b/src/driver/pictureviewer/crw.cpp @@ -120,7 +120,7 @@ void fh_crw_find_jpeg_thumbnail(FILE *fh) fsize = ftell(fh); fseek (fh, 0, SEEK_SET); - order=*((unsigned short*)header); + order = header[0] << 8 | header[1]; if (order == 0x4949) hlength = header[2] + (header[3] << 8) + (header[4] << 16) + (header[5] << 24); diff --git a/src/eitd/SIevents.cpp b/src/eitd/SIevents.cpp index 78e60f5b6..f4849c03d 100644 --- a/src/eitd/SIevents.cpp +++ b/src/eitd/SIevents.cpp @@ -249,8 +249,12 @@ void SIevent::parseShortEventDescriptor(const uint8_t *buf, unsigned maxlen) int tsidonid = (transport_stream_id << 16) | original_network_id; - char lang[] = {tolower(evt->language_code_hi), tolower(evt->language_code_mid), tolower(evt->language_code_lo), '\0'}; - std::string language(lang); + char lang[] = {'\0','\0','\0','\0'}; + lang[0] = tolower(evt->language_code_hi); + lang[1] = tolower(evt->language_code_mid); + lang[2] = tolower(evt->language_code_lo); + + std::string language(lang); int table = getCountryCodeDefaultMapping(language); buf+=sizeof(struct descr_short_event_header); @@ -272,7 +276,11 @@ void SIevent::parseExtendedEventDescriptor(const uint8_t *buf, unsigned maxlen) int tsidonid = (transport_stream_id << 16) | original_network_id; - char lang[] = {tolower(evt->iso_639_2_language_code_hi), tolower(evt->iso_639_2_language_code_mid), tolower(evt->iso_639_2_language_code_lo), '\0'}; + char lang[] = {'\0','\0','\0','\0'}; + lang[0] = tolower(evt->iso_639_2_language_code_hi); + lang[1] = tolower(evt->iso_639_2_language_code_mid); + lang[2] = tolower(evt->iso_639_2_language_code_lo); + std::string language(lang); int table = getCountryCodeDefaultMapping(language);