cfb6182a3f
Submitted by Andrew Dalgleish <openbsd@ajd.net.au>. GPUTILS is a collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib.
44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
$OpenBSD: patch-libgputils_gpreadobj_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
|
--- libgputils/gpreadobj.c.orig 2003-10-14 23:21:51.000000000 +1000
|
|
+++ libgputils/gpreadobj.c 2003-10-14 23:23:07.000000000 +1000
|
|
@@ -142,7 +142,7 @@ _read_section_header(gp_object_type *obj
|
|
char *file,
|
|
char *string_table)
|
|
{
|
|
- char buffer[9];
|
|
+ char buffer[9]; /* the name can occupy all 8 chars without a null terminator */
|
|
unsigned int offset;
|
|
|
|
if (gp_getl32(&file[0]) == 0) {
|
|
@@ -150,9 +150,7 @@ _read_section_header(gp_object_type *obj
|
|
offset = gp_getl32(&file[4]);
|
|
section->name = strdup(&string_table[offset]);
|
|
} else {
|
|
- strncpy(buffer, &file[0], 8);
|
|
- /* the name can occupy all 8 chars without a null terminator */
|
|
- buffer[8] = '\0';
|
|
+ strlcpy(buffer, &file[0], sizeof(buffer));
|
|
section->name = strdup(buffer);
|
|
}
|
|
|
|
@@ -322,7 +320,7 @@ _read_aux(gp_aux_type *aux, int aux_type
|
|
static void
|
|
_read_symbol(gp_symbol_type *symbol, char *file, char *string_table)
|
|
{
|
|
- char buffer[9];
|
|
+ char buffer[9]; /* the name can occupy all 8 chars without a null terminator */
|
|
unsigned int offset;
|
|
|
|
if (gp_getl32(&file[0]) == 0) {
|
|
@@ -330,9 +328,7 @@ _read_symbol(gp_symbol_type *symbol, cha
|
|
offset = gp_getl32(&file[4]);
|
|
symbol->name = strdup(&string_table[offset]);
|
|
} else {
|
|
- strncpy(buffer, &file[0], 8);
|
|
- /* the name can occupy all 8 chars without a null terminator */
|
|
- buffer[8] = '\0';
|
|
+ strlcpy(buffer, &file[0], sizeof(buffer));
|
|
symbol->name = strdup(buffer);
|
|
}
|
|
|