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

Frediano Ziglio fziglio at redhat.com
Fri Mar 24 13:35:53 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
> 

There's already

    if (!f) {
        spice_error("Error creating bmp");
        return;
    }

so this is making Qemu to exit...

> 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