From: Jim Meyering Date: Wed, 2 May 2012 10:12:13 +0000 (+0800) Subject: Add NUL-termination to some uses of strncpy. X-Git-Tag: emacs-24.0.97~69 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bf98199cf1bea244378538d60838f81cb3a34b49;p=emacs.git Add NUL-termination to some uses of strncpy. * lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last): NUL-terminate the error buffer. * src/w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372). --- diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index e58b291ec89..8e07193ae0c 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2012-05-02 Jim Meyering + + * lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last): + NUL-terminate the error buffer (Bug#11372). + 2012-04-15 Chong Yidong * emacsclient.c (decode_options): Move -t -n corner case handling diff --git a/lib-src/pop.c b/lib-src/pop.c index 37494d17a44..c4c7f2b4e2f 100644 --- a/lib-src/pop.c +++ b/lib-src/pop.c @@ -346,6 +346,7 @@ pop_stat (popserver server, int *count, int *size) if (0 == strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; } else { @@ -447,7 +448,10 @@ pop_list (popserver server, int message, int **IDs, int **sizes) if (strncmp (fromserver, "+OK ", 4)) { if (! strncmp (fromserver, "-ERR", 4)) - strncpy (pop_error, fromserver, ERROR_MAX); + { + strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; + } else { strcpy (pop_error, @@ -687,6 +691,7 @@ pop_multi_first (popserver server, const char *command, char **response) if (0 == strncmp (*response, "-ERR", 4)) { strncpy (pop_error, *response, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (0 == strncmp (*response, "+OK", 3)) @@ -860,6 +865,7 @@ pop_last (popserver server) if (! strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (strncmp (fromserver, "+OK ", 4)) diff --git a/src/ChangeLog b/src/ChangeLog index e2eb95f60d0..8aa1707cd30 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-05-02 Jim Meyering + + * w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372). + 2012-04-29 Eli Zaretskii * xdisp.c (pos_visible_p): If already at a newline from the diff --git a/src/w32font.c b/src/w32font.c index dab9f4c61b4..8badace9635 100644 --- a/src/w32font.c +++ b/src/w32font.c @@ -2045,8 +2045,11 @@ fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec) /* Font families are interned, but allow for strings also in case of user input. */ else if (SYMBOLP (tmp)) - strncpy (logfont->lfFaceName, - SDATA (ENCODE_SYSTEM (SYMBOL_NAME (tmp))), LF_FACESIZE); + { + strncpy (logfont->lfFaceName, + SDATA (ENCODE_SYSTEM (SYMBOL_NAME (tmp))), LF_FACESIZE); + logfont->lfFaceName[LF_FACESIZE-1] = '\0'; + } } tmp = AREF (font_spec, FONT_ADSTYLE_INDEX);