On Mon, 2006-10-16 at 18:15, Yevgeny Kliteynik wrote:
> Sasha Khapyorsky wrote:
> > On 11:47 Mon 16 Oct     , Yevgeny Kliteynik wrote:
> >> Hi Hal
> >>
> >> Leaving OSM_LOG_DIR or OSM_CACHE_DIR environment variables
> >> empty will cause OSM to wright log or cache files to /
> >> since OSM runs as root process.
> >>
> >> Although one might say that this is just a question of point 
> >> of view, I really think that to prevent root directory trashing
> >> (as I did by mistake on my machine), empty variable should be 
> >> treated as if it is not set.
> >> If a user wants the SM to write something to /, he should specify
> >> this explicitly by setting "/" as an env. variable value.
> >>
> >> --
> >> Yevgeny
> >>
> >> Signed-off-by:  Yevgeny Kliteynik <[EMAIL PROTECTED]>
> >>  
> >> Index: opensm/osm_db_files.c
> >> ===================================================================
> >> --- opensm/osm_db_files.c  (revision 9820)
> >> +++ opensm/osm_db_files.c  (working copy)
> >> @@ -182,6 +182,8 @@ osm_db_init(
> >>    CL_ASSERT( p_db_imp != NULL);
> >>  
> >>    p_db_imp->db_dir_name = getenv("OSM_CACHE_DIR");
> >> +  if (p_db_imp->db_dir_name && (strlen(p_db_imp->db_dir_name) == 0))
> >> +    p_db_imp->db_dir_name = NULL;
> >>    if ( p_db_imp->db_dir_name == NULL )
> >>      p_db_imp->db_dir_name = OSM_DEFAULT_CACHE_DIR;
> > 
> > Would be better something like:
> > 
> >     if (p_db_imp->db_dir_name == NULL || !*p_db_imp->dir_name)
> >             p_db_imp->db_dir_name = OSM_DEFAULT_CACHE_DIR;
> > 
> > This eliminates invocation of strlen() which will return !=0 in most of
> > cases.
> 
> Sure, I thought about it right after I saw that the patch was applied :)

So will you supply another patch with this approach ?

-- Hal

> 
> --
> Yevgeny
> 
> > 
> > The same is below.
> > 
> > Sasha
> > 
> >>  
> >> Index: opensm/osm_subnet.c
> >> ===================================================================
> >> --- opensm/osm_subnet.c    (revision 9820)
> >> +++ opensm/osm_subnet.c    (working copy)
> >> @@ -472,6 +472,8 @@ osm_subn_set_default_opt(
> >>    p_opt->honor_guid2lid_file = FALSE;
> >>  
> >>    p_opt->dump_files_dir = getenv("OSM_TMP_DIR");
> >> +  if (p_opt->dump_files_dir && (strlen(p_opt->dump_files_dir) == 0))
> >> +    p_opt->dump_files_dir = NULL;
> >>    if (!p_opt->dump_files_dir)
> >>      p_opt->dump_files_dir = OSM_DEFAULT_TMP_DIR;
> >>  
> >> @@ -719,6 +721,8 @@ osm_subn_rescan_conf_file(
> >>    char *p_key, *p_val ,*p_last;
> >>    
> >>    /* try to open the options file from the cache dir */
> >> +  if (p_cache_dir && (strlen(p_cache_dir) == 0))
> >> +    p_cache_dir = NULL;
> >>    if (! p_cache_dir)
> >>      p_cache_dir = OSM_DEFAULT_CACHE_DIR;
> >>  
> >> @@ -770,6 +774,8 @@ osm_subn_parse_conf_file(
> >>    char *p_key, *p_val ,*p_last;
> >>    
> >>    /* try to open the options file from the cache dir */
> >> +  if (p_cache_dir && (strlen(p_cache_dir) == 0))
> >> +    p_cache_dir = NULL;
> >>    if (! p_cache_dir)
> >>      p_cache_dir = OSM_DEFAULT_CACHE_DIR;
> >>  
> >> @@ -1002,6 +1008,8 @@ osm_subn_write_conf_file(
> >>    FILE *opts_file;
> >>    
> >>    /* try to open the options file from the cache dir */
> >> +  if (p_cache_dir && (strlen(p_cache_dir) == 0))
> >> +    p_cache_dir = NULL;
> >>    if (! p_cache_dir)
> >>      p_cache_dir = OSM_DEFAULT_CACHE_DIR;
> >>  
> >>
> >> _______________________________________________
> >> openib-general mailing list
> >> [email protected]
> >> http://openib.org/mailman/listinfo/openib-general
> >>
> >> To unsubscribe, please visit 
> >> http://openib.org/mailman/listinfo/openib-general
> >>
> > 


_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to