Update of /cvsroot/alsa/alsa-tools/envy24control In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2979
Modified Files: envy24control.c profiles.c Log Message: <[EMAIL PROTECTED]> fixed profile number range checks Index: envy24control.c =================================================================== RCS file: /cvsroot/alsa/alsa-tools/envy24control/envy24control.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- envy24control.c 16 May 2004 13:42:31 -0000 1.28 +++ envy24control.c 18 May 2004 11:34:07 -0000 1.29 @@ -1908,7 +1908,7 @@ max_digits++; if (strlen(default_profile) <= max_digits) { profile_number = atoi(default_profile); - if (profile_number > MAX_PROFILES) + if (profile_number < 1 || profile_number > MAX_PROFILES) profile_number = get_profile_number(default_profile, card_number, profiles_file_name); } else { profile_number = get_profile_number(default_profile, card_number, profiles_file_name); Index: profiles.c =================================================================== RCS file: /cvsroot/alsa/alsa-tools/envy24control/profiles.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- profiles.c 16 May 2004 13:37:31 -0000 1.1 +++ profiles.c 18 May 2004 11:34:07 -0000 1.2 @@ -753,7 +753,7 @@ buffer_copy[max_length - 1] = '\0'; memset(buffer + pos_begin, '\0', max_length - pos_begin); } - if (profile_number >= 0) { + if (profile_number > 0) { place_holder = PLACE_HOLDER_NUM; snprintf(profile_number_or_card_number_as_str, MAX_NUM_STR_LENGTH, "%d", profile_number); profile_number_or_card_number_as_str[MAX_NUM_STR_LENGTH - 1] = '\0'; @@ -835,7 +835,7 @@ if (res > 0) { if ((profile_begin = get_profile_begin(buffer, profile_number)) < 0) { if (profile_number < MAX_PROFILES) { - for (profile_nr = 0; profile_nr <= MAX_PROFILES; profile_nr++) + for (profile_nr = 1; profile_nr <= MAX_PROFILES; profile_nr++) { if (profile_nr > profile_number) { if ((profile_begin = get_profile_begin(buffer, profile_nr)) >= 0) @@ -1052,8 +1052,8 @@ "by replacing place holder '%c' with profile number.\n", \ PROFILE_HEADER_TEMPL, PLACE_HOLDER_NUM); /* check profile number */ - } else if (profile_number > MAX_PROFILES) { - fprintf(stderr, "profile number '%d' is incorrect. the maximum profile number will be '%d'.\n", \ + } else if (profile_number < 1 || profile_number > MAX_PROFILES) { + fprintf(stderr, "profile number '%d' is incorrect. the profile number will be in [1 ... %d].\n", \ profile_number, MAX_PROFILES); profile_number = -EINVAL; } @@ -1075,6 +1075,11 @@ int res, max_length; void *buffer = NULL; + if (profile_number < 1 || profile_number > MAX_PROFILES) { + fprintf(stderr, "profile number '%d' is incorrect. the profile number will be in [1 ... %d].\n", \ + profile_number, MAX_PROFILES); + return NULL; + } if (cfgfile == NULL) cfgfile = DEFAULT_PROFILERC; res = which_cfgfile(&cfgfile); @@ -1115,6 +1120,11 @@ { int res; + if (profile_number < 1 || profile_number > MAX_PROFILES) { + fprintf(stderr, "profile number '%d' is incorrect. the profile number will be in [1 ... %d].\n", \ + profile_number, MAX_PROFILES); + return -EINVAL; + } if (cfgfile == NULL) cfgfile = DEFAULT_PROFILERC; if (!strcmp(operation, ALSACTL_OP_STORE)) { ------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog