@@ -382,26 +382,46 @@ static void example_event_callback(esp_blufi_cb_event_t event, esp_blufi_cb_para
382
382
BLUFI_INFO ("Recv STA BSSID %s\n" , sta_config .sta .ssid );
383
383
break ;
384
384
case ESP_BLUFI_EVENT_RECV_STA_SSID :
385
+ if (param -> sta_ssid .ssid_len >= sizeof (sta_config .sta .ssid )/sizeof (sta_config .sta .ssid [0 ])) {
386
+ esp_blufi_send_error_info (ESP_BLUFI_DATA_FORMAT_ERROR );
387
+ BLUFI_INFO ("Invalid STA SSID\n" );
388
+ break ;
389
+ }
385
390
strncpy ((char * )sta_config .sta .ssid , (char * )param -> sta_ssid .ssid , param -> sta_ssid .ssid_len );
386
391
sta_config .sta .ssid [param -> sta_ssid .ssid_len ] = '\0' ;
387
392
esp_wifi_set_config (WIFI_IF_STA , & sta_config );
388
393
BLUFI_INFO ("Recv STA SSID %s\n" , sta_config .sta .ssid );
389
394
break ;
390
395
case ESP_BLUFI_EVENT_RECV_STA_PASSWD :
396
+ if (param -> sta_passwd .passwd_len >= sizeof (sta_config .sta .password )/sizeof (sta_config .sta .password [0 ])) {
397
+ esp_blufi_send_error_info (ESP_BLUFI_DATA_FORMAT_ERROR );
398
+ BLUFI_INFO ("Invalid STA PASSWORD\n" );
399
+ break ;
400
+ }
391
401
strncpy ((char * )sta_config .sta .password , (char * )param -> sta_passwd .passwd , param -> sta_passwd .passwd_len );
392
402
sta_config .sta .password [param -> sta_passwd .passwd_len ] = '\0' ;
393
403
sta_config .sta .threshold .authmode = EXAMPLE_WIFI_SCAN_AUTH_MODE_THRESHOLD ;
394
404
esp_wifi_set_config (WIFI_IF_STA , & sta_config );
395
405
BLUFI_INFO ("Recv STA PASSWORD %s\n" , sta_config .sta .password );
396
406
break ;
397
407
case ESP_BLUFI_EVENT_RECV_SOFTAP_SSID :
408
+ if (param -> softap_ssid .ssid_len >= sizeof (ap_config .ap .ssid )/sizeof (ap_config .ap .ssid [0 ])) {
409
+ esp_blufi_send_error_info (ESP_BLUFI_DATA_FORMAT_ERROR );
410
+ BLUFI_INFO ("Invalid SOFTAP SSID\n" );
411
+ break ;
412
+ }
398
413
strncpy ((char * )ap_config .ap .ssid , (char * )param -> softap_ssid .ssid , param -> softap_ssid .ssid_len );
399
414
ap_config .ap .ssid [param -> softap_ssid .ssid_len ] = '\0' ;
400
415
ap_config .ap .ssid_len = param -> softap_ssid .ssid_len ;
401
416
esp_wifi_set_config (WIFI_IF_AP , & ap_config );
402
417
BLUFI_INFO ("Recv SOFTAP SSID %s, ssid len %d\n" , ap_config .ap .ssid , ap_config .ap .ssid_len );
403
418
break ;
404
419
case ESP_BLUFI_EVENT_RECV_SOFTAP_PASSWD :
420
+ if (param -> softap_passwd .passwd_len >= sizeof (ap_config .sta .ssid )/sizeof (ap_config .sta .ssid [0 ])) {
421
+ esp_blufi_send_error_info (ESP_BLUFI_DATA_FORMAT_ERROR );
422
+ BLUFI_INFO ("Invalid SOFTAP PASSWD\n" );
423
+ break ;
424
+ }
405
425
strncpy ((char * )ap_config .ap .password , (char * )param -> softap_passwd .passwd , param -> softap_passwd .passwd_len );
406
426
ap_config .ap .password [param -> softap_passwd .passwd_len ] = '\0' ;
407
427
esp_wifi_set_config (WIFI_IF_AP , & ap_config );
0 commit comments