@@ -486,7 +486,7 @@ fill_user(char * restrict str, size_t strsize, void * restrict v)
486486 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "submituser" );
487487 debug_return_size_t (strsize );
488488 }
489- debug_return_size_t (strlcpy (str , evlog -> submituser , strsize ));
489+ debug_return_size_t (strlcpy_no_slash (str , evlog -> submituser , strsize ));
490490}
491491
492492static size_t
@@ -500,7 +500,7 @@ fill_group(char * restrict str, size_t strsize, void * restrict v)
500500 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "submitgroup" );
501501 debug_return_size_t (strsize );
502502 }
503- debug_return_size_t (strlcpy (str , evlog -> submitgroup , strsize ));
503+ debug_return_size_t (strlcpy_no_slash (str , evlog -> submitgroup , strsize ));
504504}
505505
506506static size_t
@@ -514,7 +514,7 @@ fill_runas_user(char * restrict str, size_t strsize, void * restrict v)
514514 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "runuser" );
515515 debug_return_size_t (strsize );
516516 }
517- debug_return_size_t (strlcpy (str , evlog -> runuser , strsize ));
517+ debug_return_size_t (strlcpy_no_slash (str , evlog -> runuser , strsize ));
518518}
519519
520520static size_t
@@ -529,7 +529,7 @@ fill_runas_group(char * restrict str, size_t strsize, void * restrict v)
529529 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "rungroup" );
530530 debug_return_size_t (strsize );
531531 }
532- debug_return_size_t (strlcpy (str , evlog -> rungroup , strsize ));
532+ debug_return_size_t (strlcpy_no_slash (str , evlog -> rungroup , strsize ));
533533}
534534
535535static size_t
@@ -543,21 +543,23 @@ fill_hostname(char * restrict str, size_t strsize, void * restrict v)
543543 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "submithost" );
544544 debug_return_size_t (strsize );
545545 }
546- debug_return_size_t (strlcpy (str , evlog -> submithost , strsize ));
546+ debug_return_size_t (strlcpy_no_slash (str , evlog -> submithost , strsize ));
547547}
548548
549549static size_t
550550fill_command (char * restrict str , size_t strsize , void * restrict v )
551551{
552552 struct iolog_path_closure * closure = v ;
553553 const struct eventlog * evlog = closure -> evlog ;
554+ const char * cmnd_base ;
554555 debug_decl (fill_command , SUDO_DEBUG_UTIL );
555556
556557 if (evlog -> command == NULL ) {
557558 sudo_warnx (U_ ("%s: %s is not set" ), __func__ , "command" );
558559 debug_return_size_t (strsize );
559560 }
560- debug_return_size_t (strlcpy (str , evlog -> command , strsize ));
561+ cmnd_base = sudo_basename (evlog -> command );
562+ debug_return_size_t (strlcpy_no_slash (str , cmnd_base , strsize ));
561563}
562564
563565/* Note: "seq" must be first in the list. */
0 commit comments