@@ -358,19 +358,15 @@ void uv_loadavg(double avg[3]) {
358
358
359
359
360
360
#ifdef HAVE_SYS_AHAFS_EVPRODS_H
361
- static char * uv__rawname (char * cp ) {
362
- static char rawbuf [FILENAME_MAX + 1 ];
363
- char * dp = rindex (cp , '/' );
361
+ static char * uv__rawname (const char * cp , char (* dst )[FILENAME_MAX + 1 ]) {
362
+ char * dp ;
364
363
364
+ dp = rindex (cp , '/' );
365
365
if (dp == 0 )
366
366
return 0 ;
367
367
368
- * dp = 0 ;
369
- strcpy (rawbuf , cp );
370
- * dp = '/' ;
371
- strcat (rawbuf , "/r" );
372
- strcat (rawbuf , dp + 1 );
373
- return rawbuf ;
368
+ snprintf (* dst , sizeof (* dst ), "%.*s/r%s" , (int ) (dp - cp ), cp , dp + 1 );
369
+ return * dst ;
374
370
}
375
371
376
372
@@ -399,6 +395,7 @@ static int uv__path_is_a_directory(char* filename) {
399
395
* Returns 0 if AHAFS is mounted, or an error code < 0 on failure
400
396
*/
401
397
static int uv__is_ahafs_mounted (void ){
398
+ char rawbuf [FILENAME_MAX + 1 ];
402
399
int rv , i = 2 ;
403
400
struct vmount * p ;
404
401
int size_multiplier = 10 ;
@@ -432,7 +429,7 @@ static int uv__is_ahafs_mounted(void){
432
429
obj = vmt2dataptr (vmt , VMT_OBJECT ); /* device */
433
430
stub = vmt2dataptr (vmt , VMT_STUB ); /* mount point */
434
431
435
- if (EQ (obj , dev ) || EQ (uv__rawname (obj ), dev ) || EQ (stub , dev )) {
432
+ if (EQ (obj , dev ) || EQ (uv__rawname (obj , & rawbuf ), dev ) || EQ (stub , dev )) {
436
433
uv__free (p ); /* Found a match */
437
434
return 0 ;
438
435
}
@@ -453,7 +450,8 @@ static int uv__makedir_p(const char *dir) {
453
450
size_t len ;
454
451
int err ;
455
452
456
- snprintf (tmp , sizeof (tmp ),"%s" ,dir );
453
+ /* TODO(bnoordhuis) Check uv__strscpy() return value. */
454
+ uv__strscpy (tmp , dir , sizeof (tmp ));
457
455
len = strlen (tmp );
458
456
if (tmp [len - 1 ] == '/' )
459
457
tmp [len - 1 ] = 0 ;
@@ -702,9 +700,9 @@ static void uv__ahafs_event(uv_loop_t* loop, uv__io_t* event_watch, unsigned int
702
700
else
703
701
p ++ ;
704
702
}
705
- strncpy ( fname , p , sizeof ( fname ) - 1 );
706
- /* Just in case */
707
- fname [ sizeof (fname ) - 1 ] = '\0' ;
703
+
704
+ /* TODO(bnoordhuis) Check uv__strscpy() return value. */
705
+ uv__strscpy ( fname , p , sizeof (fname )) ;
708
706
709
707
handle -> cb (handle , fname , events , 0 );
710
708
}
@@ -735,7 +733,8 @@ int uv_fs_event_start(uv_fs_event_t* handle,
735
733
/* Figure out whether filename is absolute or not */
736
734
if (filename [0 ] == '/' ) {
737
735
/* We have absolute pathname */
738
- snprintf (absolute_path , sizeof (absolute_path ), "%s" , filename );
736
+ /* TODO(bnoordhuis) Check uv__strscpy() return value. */
737
+ uv__strscpy (absolute_path , filename , sizeof (absolute_path ));
739
738
} else {
740
739
/* We have a relative pathname, compose the absolute pathname */
741
740
snprintf (cwd , sizeof (cwd ), "/proc/%lu/cwd" , (unsigned long ) getpid ());
@@ -986,7 +985,8 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
986
985
return UV_ENOMEM ;
987
986
}
988
987
989
- strcpy (cpu_id .name , FIRST_CPU );
988
+ /* TODO(bnoordhuis) Check uv__strscpy() return value. */
989
+ uv__strscpy (cpu_id .name , FIRST_CPU , sizeof (cpu_id .name ));
990
990
result = perfstat_cpu (& cpu_id , ps_cpus , sizeof (perfstat_cpu_t ), ncpus );
991
991
if (result == -1 ) {
992
992
uv__free (ps_cpus );
0 commit comments