]> git.deb.at Git - pkg/abook.git/blobdiff - database.c
Fixed a possible problem in find() function
[pkg/abook.git] / database.c
index 8b8d2bedb58fd644994e3bb75fd67a9759be76ff..cf02d57c673345d5c6229d6bc1844a6f3c6e746a 100644 (file)
@@ -1,6 +1,7 @@
 
 /*
- * database.c
+ * $Id$
+ *
  * by JH <jheinonen@bigfoot.com>
  *
  * Copyright (C) Jaakko Heinonen
@@ -413,8 +414,8 @@ void
 find(int next)
 {
        int i;
-       static char findstr[81];
-       char tmp[81];
+       static char findstr[MAX_FIELD_LEN];
+       char tmp[MAX_FIELD_LEN];
 
 #ifdef DEBUG
        fprintf(stderr, "find(): findstr = |%s|\n", findstr);
@@ -426,7 +427,7 @@ find(int next)
        } else {
                clear_statusline();
                statusline_addstr("/");
-               statusline_getnstr(findstr, 67, 0);
+               statusline_getnstr(findstr, MAX_FIELD_LEN - 1, 0);
                strupper(findstr);
                clear_statusline();
        }
@@ -436,7 +437,7 @@ find(int next)
 
        for( i = (curitem < LAST_ITEM) && next ? curitem+1 : curitem;
                        i < items; i++ ) {
-               strcpy(tmp, database[i][NAME]);
+               strncpy(tmp, database[i][NAME], MAX_FIELD_LEN - 1);
                if( strstr(strupper(tmp), findstr) != NULL ) {
                        curitem = i;
                        refresh_list();