@@ -539,22 +539,39 @@ fmt_runenv(const struct eventlog *evlog)
539539 debug_return_ptr (vec_to_stringlist (evlog -> runenv ));
540540}
541541
542+ /*
543+ * Build submitenv StringList from env in evlog, if present.
544+ */
545+ static InfoMessage__StringList *
546+ fmt_submitenv (const struct eventlog * evlog )
547+ {
548+ debug_decl (fmt_submitenv , SUDO_DEBUG_UTIL );
549+
550+ /* Only present in log.json. */
551+ if (evlog -> submitenv == NULL || evlog -> submitenv [0 ] == NULL )
552+ debug_return_ptr (NULL );
553+
554+ debug_return_ptr (vec_to_stringlist (evlog -> submitenv ));
555+ }
556+
542557static InfoMessage * *
543558fmt_info_messages (const struct eventlog * evlog , char * hostname ,
544559 size_t * n_info_msgs )
545560{
546561 InfoMessage * * info_msgs = NULL ;
547562 InfoMessage__StringList * runargv = NULL ;
548563 InfoMessage__StringList * runenv = NULL ;
564+ InfoMessage__StringList * submitenv = NULL ;
549565 size_t info_msgs_size , n = 0 ;
550566 debug_decl (fmt_info_messages , SUDO_DEBUG_UTIL );
551567
552568 runargv = fmt_runargv (evlog );
553569 if (runargv == NULL )
554570 goto oom ;
555571
556- /* runenv is only present in log.json */
572+ /* runenv and submitenv are only present in log.json */
557573 runenv = fmt_runenv (evlog );
574+ submitenv = fmt_submitenv (evlog );
558575
559576 /* The sudo I/O log info file has limited info. */
560577 info_msgs_size = 14 ;
@@ -596,6 +613,10 @@ fmt_info_messages(const struct eventlog *evlog, char *hostname,
596613 fill_num ("lines" , evlog -> lines );
597614 fill_strlist ("runargv" , runargv );
598615 runargv = NULL ;
616+ if (submitenv != NULL ) {
617+ fill_strlist ("submitenv" , submitenv );
618+ submitenv = NULL ;
619+ }
599620 if (runenv != NULL ) {
600621 fill_strlist ("runenv" , runenv );
601622 runenv = NULL ;
@@ -637,6 +658,10 @@ fmt_info_messages(const struct eventlog *evlog, char *hostname,
637658 free (runenv -> strings );
638659 free (runenv );
639660 }
661+ if (submitenv != NULL ) {
662+ free (submitenv -> strings );
663+ free (submitenv );
664+ }
640665 * n_info_msgs = 0 ;
641666 debug_return_ptr (NULL );
642667}
0 commit comments