summaryrefslogtreecommitdiff
authorerik <erik>2007-01-26 20:24:07 (UTC)
committer erik <erik>2007-01-26 20:24:07 (UTC)
commitcc5b326a212414a612838b0041e6077477ebbc70 (patch) (unidiff)
treefd69c302a511c3bc715ff0e160181b9ad1cbf82d
parent53d630c9c4813142ee13e6843c30476a5db26e78 (diff)
downloadopie-cc5b326a212414a612838b0041e6077477ebbc70.zip
opie-cc5b326a212414a612838b0041e6077477ebbc70.tar.gz
opie-cc5b326a212414a612838b0041e6077477ebbc70.tar.bz2
A couple of places where a string is overrun. This fixes both of them.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-reader/chm_lib.c5
-rw-r--r--noncore/settings/sysinfo/contrib/dhry.c4
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
@@ -1599,9 +1599,9 @@ int chm_enumerate_dir(struct chmFile *h,
1599 1599
1600 /* the length of the prefix */ 1600 /* the length of the prefix */
1601 char prefixRectified[CHM_MAX_PATHLEN+1]; 1601 char prefixRectified[CHM_MAX_PATHLEN+1];
1602 int prefixLen; 1602 int prefixLen;
1603 char lastPath[CHM_MAX_PATHLEN]; 1603 char lastPath[CHM_MAX_PATHLEN+1];
1604 int lastPathLen; 1604 int lastPathLen;
1605 1605
1606 /* starting page */ 1606 /* starting page */
1607 curPage = h->index_head; 1607 curPage = h->index_head;
@@ -1669,9 +1669,10 @@ int chm_enumerate_dir(struct chmFile *h,
1669 { 1669 {
1670 if (strncmp(ui.path, lastPath, lastPathLen) == 0) 1670 if (strncmp(ui.path, lastPath, lastPathLen) == 0)
1671 continue; 1671 continue;
1672 } 1672 }
1673 strcpy(lastPath, ui.path); 1673 strncpy(lastPath, ui.path, CHM_MAX_PATHLEN);
1674 lastPath[CHM_MAX_PATHLEN] = '\0';
1674 lastPathLen = strlen(lastPath); 1675 lastPathLen = strlen(lastPath);
1675 1676
1676 /* check for DIRS */ 1677 /* check for DIRS */
1677 if (ui.length == 0 && !(what & CHM_ENUMERATE_DIRS)) 1678 if (ui.length == 0 && !(what & CHM_ENUMERATE_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
@@ -494,9 +494,9 @@ char Ch_1_Glob,
494 Ch_2_Glob; 494 Ch_2_Glob;
495int Arr_1_Glob [50]; 495int Arr_1_Glob [50];
496int Arr_2_Glob [50] [50]; 496int Arr_2_Glob [50] [50];
497 497
498char Reg_Define[] = "Register option selected."; 498char Reg_Define[32] = "Register option selected.";
499 499
500//extern char *malloc (); 500//extern char *malloc ();
501Enumeration Func_1 (); 501Enumeration Func_1 ();
502 /* 502 /*
@@ -982,9 +982,9 @@ double dhry_main( int n )
982#ifdef ROPT 982#ifdef ROPT
983 //printf ("Register option selected? YES\n"); 983 //printf ("Register option selected? YES\n");
984#else 984#else
985 //printf ("Register option selected? NO\n"); 985 //printf ("Register option selected? NO\n");
986 strcpy(Reg_Define, "Register option not selected."); 986 strncpy(Reg_Define, "Register option not selected.", 30);
987#endif 987#endif
988 printf ("Microseconds for one run through Dhrystone: "); 988 printf ("Microseconds for one run through Dhrystone: ");
989 printf ("%7.1lf \n", Microseconds); 989 printf ("%7.1lf \n", Microseconds);
990 printf ("Dhrystones per Second: "); 990 printf ("Dhrystones per Second: ");