summaryrefslogtreecommitdiff
path: root/noncore
authorerik <erik>2007-01-26 20:24:07 (UTC)
committer erik <erik>2007-01-26 20:24:07 (UTC)
commitcc5b326a212414a612838b0041e6077477ebbc70 (patch) (unidiff)
treefd69c302a511c3bc715ff0e160181b9ad1cbf82d /noncore
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 (limited to 'noncore') (more/less context) (show 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
@@ -1591,25 +1591,25 @@ int chm_enumerate_dir(struct chmFile *h,
1591 unsigned long lenRemain; 1591 unsigned long lenRemain;
1592 1592
1593 /* set to 1 once we've started */ 1593 /* set to 1 once we've started */
1594 int it_has_begun=0; 1594 int it_has_begun=0;
1595 1595
1596 /* the current ui */ 1596 /* the current ui */
1597 struct chmUnitInfo ui; 1597 struct chmUnitInfo ui;
1598 int flag; 1598 int flag;
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;
1608 1608
1609 /* initialize pathname state */ 1609 /* initialize pathname state */
1610 strncpy(prefixRectified, prefix, CHM_MAX_PATHLEN); 1610 strncpy(prefixRectified, prefix, CHM_MAX_PATHLEN);
1611 prefixLen = strlen(prefixRectified); 1611 prefixLen = strlen(prefixRectified);
1612 if (prefixLen != 0) 1612 if (prefixLen != 0)
1613 { 1613 {
1614 if (prefixRectified[prefixLen-1] != '/') 1614 if (prefixRectified[prefixLen-1] != '/')
1615 { 1615 {
@@ -1661,25 +1661,26 @@ int chm_enumerate_dir(struct chmFile *h,
1661 else 1661 else
1662 { 1662 {
1663 if (strncmp(ui.path, prefixRectified, prefixLen) != 0) 1663 if (strncmp(ui.path, prefixRectified, prefixLen) != 0)
1664 return 1; 1664 return 1;
1665 } 1665 }
1666 1666
1667 /* check if we should include this path */ 1667 /* check if we should include this path */
1668 if (lastPathLen != -1) 1668 if (lastPathLen != -1)
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))
1678 continue; 1679 continue;
1679 1680
1680 /* check for FILES */ 1681 /* check for FILES */
1681 if (ui.length != 0 && !(what & CHM_ENUMERATE_FILES)) 1682 if (ui.length != 0 && !(what & CHM_ENUMERATE_FILES))
1682 continue; 1683 continue;
1683 1684
1684 /* check for NORMAL vs. META */ 1685 /* check for NORMAL vs. META */
1685 if (ui.path[0] == '/') 1686 if (ui.path[0] == '/')
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
@@ -486,25 +486,25 @@ double dtime()
486 486
487/* Global Variables: */ 487/* Global Variables: */
488 488
489Rec_Pointer Ptr_Glob, 489Rec_Pointer Ptr_Glob,
490 Next_Ptr_Glob; 490 Next_Ptr_Glob;
491int Int_Glob; 491int Int_Glob;
492Boolean Bool_Glob; 492Boolean Bool_Glob;
493char Ch_1_Glob, 493char 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 /*
503 forward declaration necessary since Enumeration may not simply be int 503 forward declaration necessary since Enumeration may not simply be int
504 */ 504 */
505 505
506#ifndef ROPT 506#ifndef ROPT
507#define REG 507#define REG
508 /* REG becomes defined as empty */ 508 /* REG becomes defined as empty */
509 /* i.e. no register variables */ 509 /* i.e. no register variables */
510#else 510#else
@@ -974,25 +974,25 @@ double dhry_main( int n )
974 if (User_Time < Too_Small_Time) return -1; 974 if (User_Time < Too_Small_Time) return -1;
975 else 975 else
976 { 976 {
977 Microseconds = User_Time * Mic_secs_Per_Second 977 Microseconds = User_Time * Mic_secs_Per_Second
978 / (double) Number_Of_Runs; 978 / (double) Number_Of_Runs;
979 Dhrystones_Per_Second = (double) Number_Of_Runs / User_Time; 979 Dhrystones_Per_Second = (double) Number_Of_Runs / User_Time;
980 Vax_Mips = Dhrystones_Per_Second / 1757.0; 980 Vax_Mips = Dhrystones_Per_Second / 1757.0;
981 981
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: ");
991 printf ("%10.1lf \n", Dhrystones_Per_Second); 991 printf ("%10.1lf \n", Dhrystones_Per_Second);
992 printf ("VAX MIPS rating = %10.3lf \n",Vax_Mips); 992 printf ("VAX MIPS rating = %10.3lf \n",Vax_Mips);
993 printf ("\n"); 993 printf ("\n");
994 994
995 return Dhrystones_Per_Second; 995 return Dhrystones_Per_Second;
996 996
997/* 997/*
998 998