X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fread_termcap.c;h=28512c252e2a4161a129df7d9efe99e1b2aca0df;hp=6bfb23cdc6434d70c8b23db15bf952cb12efa00f;hb=e2e9c09c48b19b24979cafb2d4864f538b5ddd1c;hpb=bdb754b9f04f332b59d72f761a297497b2db8af1 diff --git a/ncurses/tinfo/read_termcap.c b/ncurses/tinfo/read_termcap.c index 6bfb23cd..28512c25 100644 --- a/ncurses/tinfo/read_termcap.c +++ b/ncurses/tinfo/read_termcap.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. * + * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -56,7 +56,7 @@ #include #include -MODULE_ID("$Id: read_termcap.c,v 1.89 2013/12/15 00:32:43 tom Exp $") +MODULE_ID("$Id: read_termcap.c,v 1.90 2016/09/10 20:13:11 tom Exp $") #if !PURE_TERMINFO @@ -965,6 +965,7 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE *const tp) #endif #if USE_GETCAP char *p, tc[TBUFSIZ]; +#define MY_SIZE sizeof(tc) - 1 int status; static char *source; static int lineno; @@ -982,8 +983,8 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE *const tp) if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0 && !_nc_is_abs_path(p) && _nc_name_match(p, tn, "|:")) { /* TERMCAP holds a termcap entry */ - strncpy(tc, p, sizeof(tc) - 1); - tc[sizeof(tc) - 1] = '\0'; + _nc_STRNCPY(tc, p, MY_SIZE); + tc[MY_SIZE] = '\0'; _nc_set_source("TERMCAP"); } else { /* we're using getcap(3) */