File sblim-overflow.patch of Package sblim-cmpi-boot_control_profile
Index: src/Resource.c
===================================================================
--- src/Resource.c.orig
+++ src/Resource.c
@@ -98,7 +98,7 @@ int LoadGrubMenu(const char* path, struc
{
item = &menu->items[menu->numItems];
item->title[0] = '\0';
- strncat(item->title, p + 6, sizeof(item->title));
+ strncat(item->title, p + 6, sizeof(item->title)-1);
menu->numItems++;
}
else if (strncmp(p, "root", 4) == 0 && isspace(p[4]))
@@ -112,7 +112,7 @@ int LoadGrubMenu(const char* path, struc
item = &menu->items[menu->numItems-1];
item->root[0] = '\0';
- strncat(item->root, p + 5, sizeof(item->root));
+ strncat(item->root, p + 5, sizeof(item->root)-1);
}
else if (strncmp(p, "kernel", 6) == 0 && isspace(p[6]))
{
@@ -125,7 +125,7 @@ int LoadGrubMenu(const char* path, struc
item = &menu->items[menu->numItems-1];
item->kernel[0] = '\0';
- strncat(item->kernel, p + 7, sizeof(item->kernel));
+ strncat(item->kernel, p + 7, sizeof(item->kernel)-1);
}
else if (strncmp(p, "initrd", 6) == 0 && isspace(p[6]))
{
@@ -138,7 +138,7 @@ int LoadGrubMenu(const char* path, struc
item = &menu->items[menu->numItems-1];
item->initrd[0] = '\0';
- strncat(item->initrd, p + 7, sizeof(item->initrd));
+ strncat(item->initrd, p + 7, sizeof(item->initrd)-1);
}
else if (strncmp(p, "rootnoverify", 12) == 0 && isspace(p[12]))
{
@@ -151,7 +151,7 @@ int LoadGrubMenu(const char* path, struc
item = &menu->items[menu->numItems-1];
item->rootnoverify[0] = '\0';
- strncat(item->rootnoverify, p + 13, sizeof(item->rootnoverify));
+ strncat(item->rootnoverify, p + 13, sizeof(item->rootnoverify)-1);
}
else if (strncmp(p, "chainloader", 11) == 0 && isspace(p[11]))
{
@@ -164,7 +164,7 @@ int LoadGrubMenu(const char* path, struc
item = &menu->items[menu->numItems-1];
item->chainloader[0] = '\0';
- strncat(item->chainloader, p + 12, sizeof(item->chainloader));
+ strncat(item->chainloader, p + 12, sizeof(item->chainloader)-1);
}
}