author | erik <erik> | 2007-01-26 20:24:07 (UTC) |
---|---|---|
committer | erik <erik> | 2007-01-26 20:24:07 (UTC) |
commit | cc5b326a212414a612838b0041e6077477ebbc70 (patch) (side-by-side diff) | |
tree | fd69c302a511c3bc715ff0e160181b9ad1cbf82d | |
parent | 53d630c9c4813142ee13e6843c30476a5db26e78 (diff) | |
download | opie-cc5b326a212414a612838b0041e6077477ebbc70.zip opie-cc5b326a212414a612838b0041e6077477ebbc70.tar.gz opie-cc5b326a212414a612838b0041e6077477ebbc70.tar.bz2 |
A couple of places where a string is overrun. This fixes both of them.
-rw-r--r-- | noncore/apps/opie-reader/chm_lib.c | 5 | ||||
-rw-r--r-- | noncore/settings/sysinfo/contrib/dhry.c | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/noncore/apps/opie-reader/chm_lib.c b/noncore/apps/opie-reader/chm_lib.c index ecf8278..7acd1d2 100644 --- a/noncore/apps/opie-reader/chm_lib.c +++ b/noncore/apps/opie-reader/chm_lib.c @@ -1600,7 +1600,7 @@ int chm_enumerate_dir(struct chmFile *h, /* the length of the prefix */ char prefixRectified[CHM_MAX_PATHLEN+1]; int prefixLen; - char lastPath[CHM_MAX_PATHLEN]; + char lastPath[CHM_MAX_PATHLEN+1]; int lastPathLen; /* starting page */ @@ -1670,7 +1670,8 @@ int chm_enumerate_dir(struct chmFile *h, if (strncmp(ui.path, lastPath, lastPathLen) == 0) continue; } - strcpy(lastPath, ui.path); + strncpy(lastPath, ui.path, CHM_MAX_PATHLEN); + lastPath[CHM_MAX_PATHLEN] = '\0'; lastPathLen = strlen(lastPath); /* check for DIRS */ diff --git a/noncore/settings/sysinfo/contrib/dhry.c b/noncore/settings/sysinfo/contrib/dhry.c index 20b627c..07fd1c0 100644 --- a/noncore/settings/sysinfo/contrib/dhry.c +++ b/noncore/settings/sysinfo/contrib/dhry.c @@ -495,7 +495,7 @@ char Ch_1_Glob, int Arr_1_Glob [50]; int Arr_2_Glob [50] [50]; -char Reg_Define[] = "Register option selected."; +char Reg_Define[32] = "Register option selected."; //extern char *malloc (); Enumeration Func_1 (); @@ -983,7 +983,7 @@ double dhry_main( int n ) //printf ("Register option selected? YES\n"); #else //printf ("Register option selected? NO\n"); - strcpy(Reg_Define, "Register option not selected."); + strncpy(Reg_Define, "Register option not selected.", 30); #endif printf ("Microseconds for one run through Dhrystone: "); printf ("%7.1lf \n", Microseconds); |