Avoid out of bound write.
Avoid using pointer (shared) after free.
Signed-off-by: Jean-Christophe DUBOIS <[email protected]>
---
systems/fbdev/fbdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/systems/fbdev/fbdev.c b/systems/fbdev/fbdev.c
index aee785b..6d17d46 100644
--- a/systems/fbdev/fbdev.c
+++ b/systems/fbdev/fbdev.c
@@ -356,7 +356,7 @@ dfb_fbdev_get_pci_info( FBDevShared *shared )
snprintf(path, SYSFS_PATH_MAX, SYS_CLASS_GRAPHICS_DEV, devname);
- len = readlink(path,buf,512);
+ len = readlink(path,buf,sizeof(buf)-1);
if(len != -1) {
char * base;
buf[len] = '\0';
@@ -629,12 +629,12 @@ error:
if (shared->current_cmap_memory)
SHFREE( pool_data, shared->current_cmap_memory );
+ if (dfb_fbdev->framebuffer_base)
+ munmap( dfb_fbdev->framebuffer_base, shared->fix.smem_len );
+
SHFREE( pool, shared );
}
- if (dfb_fbdev->framebuffer_base)
- munmap( dfb_fbdev->framebuffer_base, shared->fix.smem_len );
-
if (dfb_fbdev->fd != -1)
close( dfb_fbdev->fd );
--
1.9.1
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev