Index: libcdio-0.76/lib/driver/image/nrg.c =================================================================== --- libcdio-0.76.orig/lib/driver/image/nrg.c +++ libcdio-0.76/lib/driver/image/nrg.c @@ -1173,21 +1173,14 @@ _get_track_green_nrg(void *p_user_data, bool cdio_is_nrg(const char *psz_nrg) { - unsigned int i; + size_t psz_len; if (psz_nrg == NULL) return false; + psz_len = strlen(psz_nrg); + /* At least 4 characters needed for .nrg extension */ + if ( psz_len < 4 ) return false; - i=strlen(psz_nrg)-strlen("nrg"); - - if (i>0) { - if (psz_nrg[i]=='n' && psz_nrg[i+1]=='r' && psz_nrg[i+2]=='g') { - return true; - } - else if (psz_nrg[i]=='N' && psz_nrg[i+1]=='R' && psz_nrg[i+2]=='G') { - return true; - } - } - return false; + return strncasecmp( psz_nrg+(psz_len-3), "nrg", 3 ) == 0; } /*!