[Spice-devel] [PATCH spice-server] Attempt to create bitmap debug directory

Frediano Ziglio fziglio at redhat.com
Fri Mar 24 13:33:51 UTC 2017


> 
> What if it cannot create - no permissions. I think it can happen, for
> instance I am almost always running qemu as a normal user.
> 
> Probably checking the return value may be enough
> 
> Pavel
> 

Is in /tmp so should be writeable by everybody.
If not will crash... like currently does.. so no regressions :-)
The test should be done after the open... yes, sounds reasonable

Note that this is disabled by defaults as create lot of images in
the directory and useful only for debugging.

Frediano

> On Fri, 2017-03-24 at 12:11 +0000, Frediano Ziglio wrote:
> > The DUMP_BITMAP compile option enable some debugging code to
> > output image bitmaps in a subdirectory of /tmp.
> > However if this directory does not exists the server will crash
> > as not able to create a file in it.
> > Try to create directory before creating the file.
> > 
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > ---
> >  server/spice-bitmap-utils.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/server/spice-bitmap-utils.c b/server/spice-bitmap-
> > utils.c
> > index 439f05d..09c081d 100644
> > --- a/server/spice-bitmap-utils.c
> > +++ b/server/spice-bitmap-utils.c
> > @@ -18,6 +18,9 @@
> >  #ifdef HAVE_CONFIG_H
> >  #include <config.h>
> >  #endif
> > +
> > +#include <sys/stat.h>
> > +
> >  #include "spice-bitmap-utils.h"
> >  
> >  #define RED_BITMAP_UTILS_RGB16
> > @@ -252,6 +255,7 @@ void dump_bitmap(SpiceBitmap *bitmap)
> >      file_size = bitmap_data_offset + (bitmap->y * row_size);
> >  
> >      id = ++file_id;
> > +    mkdir(RAM_PATH, 0755);
> >      sprintf(file_str, "%s/%u.bmp", RAM_PATH, id);
> >  
> >      f = fopen(file_str, "wb");
> 


More information about the Spice-devel mailing list