mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-10-29 05:40:25 -04:00
envy24control: fix cast warnings and string array overflows
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
54b5913cd5
commit
97092591e0
7 changed files with 20 additions and 16 deletions
|
|
@ -46,7 +46,7 @@ void config_close()
|
|||
|
||||
void config_set_stereo(GtkWidget *but, gpointer data)
|
||||
{
|
||||
gint i=(gint)data;
|
||||
gint i=GPOINTER_TO_INT(data);
|
||||
config_stereo[i]=GTK_TOGGLE_BUTTON(but)->active;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ static void create_mixer_frame(GtkWidget *box, int stream)
|
|||
gtk_box_pack_end(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
|
||||
/* gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), TRUE); */
|
||||
gtk_signal_connect(GTK_OBJECT(toggle), "toggled",
|
||||
GTK_SIGNAL_FUNC(config_set_stereo), (gpointer)stream-1);
|
||||
GTK_SIGNAL_FUNC(config_set_stereo), GINT_TO_POINTER(stream-1));
|
||||
|
||||
hbox = gtk_hbox_new(TRUE, 6);
|
||||
gtk_widget_show(hbox);
|
||||
|
|
@ -2176,7 +2176,7 @@ int main(int argc, char **argv)
|
|||
|
||||
if (! name) {
|
||||
/* probe cards */
|
||||
static char cardname[8];
|
||||
static char cardname[16];
|
||||
/* FIXME: hardcoded max number of cards */
|
||||
for (card_number = 0; card_number < 8; card_number++) {
|
||||
sprintf(cardname, "hw:%d", card_number);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ static GdkGC *get_pen(int idx, int nRed, int nGreen, int nBlue)
|
|||
return gc;
|
||||
}
|
||||
|
||||
static int get_index(gchar *name)
|
||||
static int get_index(const gchar *name)
|
||||
{
|
||||
int result;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ int new_process(char * const cmd_line[MAX_PARAM])
|
|||
struct stat file_status;
|
||||
|
||||
/* memory for storage of function pointers from the signal handling routines */
|
||||
void (*int_stat)();
|
||||
void (*quit_stat)();
|
||||
void (*usr2_stat)();
|
||||
void (*int_stat)(int);
|
||||
void (*quit_stat)(int);
|
||||
void (*usr2_stat)(int);
|
||||
|
||||
/*
|
||||
* check command file
|
||||
|
|
|
|||
|
|
@ -54,9 +54,9 @@ void subst_tilde_in_filename(char * const filename)
|
|||
|
||||
if ((pos_after_tilde = strchr(filename, '~')) != NULL) {
|
||||
pos_after_tilde++;
|
||||
strncpy(new_filename, getenv("HOME"), MAX_FILE_NAME_LENGTH);
|
||||
strncpy(new_filename + strlen(new_filename), pos_after_tilde, MAX_FILE_NAME_LENGTH - strlen(new_filename));
|
||||
new_filename[MAX_FILE_NAME_LENGTH - 1] = '\0';
|
||||
strncpy(new_filename, getenv("HOME"), sizeof(new_filename) - 1);
|
||||
strncpy(new_filename + strlen(new_filename), pos_after_tilde, sizeof(new_filename) - strlen(new_filename) - 1);
|
||||
new_filename[sizeof(new_filename) - 1] = '\0';
|
||||
strncpy(filename, new_filename, MAX_FILE_NAME_LENGTH);
|
||||
}
|
||||
}
|
||||
|
|
@ -522,7 +522,7 @@ int reorganize_profiles(char * const buffer, const int max_length)
|
|||
{
|
||||
int profile_number, card_number, card_number_max;
|
||||
int res;
|
||||
int pos_profile_begin, pos_profile_end, pos_card_begin, pos_card_end, pos_name_header;
|
||||
int pos_profile_begin, pos_card_begin, pos_card_end, pos_name_header;
|
||||
int pos_alsa_section_begin, pos_after_alsa_section;
|
||||
char header[MAX_SEARCH_FIELD_LENGTH];
|
||||
void *buffer_copy = NULL;
|
||||
|
|
@ -547,7 +547,6 @@ int reorganize_profiles(char * const buffer, const int max_length)
|
|||
compose_search_string(header, PROFILE_HEADER_TEMPL, profile_or_card_number_as_str, place_holder, MAX_SEARCH_FIELD_LENGTH);
|
||||
header[MAX_SEARCH_FIELD_LENGTH - 1] = '\0';
|
||||
snprintf(buffer_copy + strlen(buffer_copy), max_length - strlen(buffer_copy), "%s\n", header);
|
||||
pos_profile_end = get_profile_end(buffer, profile_number);
|
||||
/* search max card number in profile */
|
||||
card_number_max = get_max_card_number_in_profile(buffer, profile_number);
|
||||
for (card_number = 0; card_number <= card_number_max; card_number++)
|
||||
|
|
@ -641,9 +640,9 @@ int save_restore_alsactl_settings(char * const tmpfile, const int card_number, c
|
|||
|
||||
void compose_tmpfile_name(char * const tmpfile, const char * const cfgfile)
|
||||
{
|
||||
strncpy(tmpfile, cfgfile, MAX_FILE_NAME_LENGTH);
|
||||
strncpy(tmpfile, cfgfile, MAX_FILE_NAME_LENGTH - 1);
|
||||
tmpfile[MAX_FILE_NAME_LENGTH - 1] = '\0';
|
||||
strncpy(tmpfile + strlen(tmpfile), "_alsactl_tmp", MAX_FILE_NAME_LENGTH - strlen(tmpfile));
|
||||
strncpy(tmpfile + strlen(tmpfile), "_alsactl_tmp", MAX_FILE_NAME_LENGTH - strlen(tmpfile) - 1);
|
||||
tmpfile[MAX_FILE_NAME_LENGTH - 1] = '\0';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
#define MAX_PROFILE_SIZE 32768
|
||||
#define MAX_SEARCH_FIELD_LENGTH 1024
|
||||
#define MAX_FILE_NAME_LENGTH 1024
|
||||
#define MAX_NUM_STR_LENGTH 10
|
||||
#define MAX_NUM_STR_LENGTH 11
|
||||
#define TOKEN_SEP "|"
|
||||
#define SEP_CHAR ' '
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ int strstr_icase_blank(const char * const string1, const char * const string2)
|
|||
char search_string[MAX_SEARCH_FIELD_LENGTH];
|
||||
char *pstr;
|
||||
int pos_first_non_blank;
|
||||
size_t len;
|
||||
|
||||
strncpy(search_string, string2, MAX_SEARCH_FIELD_LENGTH);
|
||||
search_string[MAX_SEARCH_FIELD_LENGTH - 1] = '\0';
|
||||
|
|
@ -84,7 +85,11 @@ int strstr_icase_blank(const char * const string1, const char * const string2)
|
|||
}
|
||||
}
|
||||
}
|
||||
strncpy(search_string, cmp_line, strlen(search_string));
|
||||
len = strlen(search_string);
|
||||
if (len > sizeof(search_string) - 1)
|
||||
len = sizeof(search_string) - 1;
|
||||
strncpy(search_string, cmp_line, len);
|
||||
search_string[len] = '\0';
|
||||
|
||||
position = 0;
|
||||
while (position < strlen(string1))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue