From 4fd0807c5f12628693c64d341b7a537479ee0ab8 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 22 Dec 2008 05:09:24 +0100 Subject: [PATCH] xbps_get_pkgidx_string(): don't forget nul. --HG-- extra : convert_revision : 60f0e28fceb4b9e789612bd2f6183f85b63bd44b --- lib/plist.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/plist.c b/lib/plist.c index 67a6066b2a..7fe588f5a3 100644 --- a/lib/plist.c +++ b/lib/plist.c @@ -158,24 +158,26 @@ xbps_get_array_iter_from_dict(prop_dictionary_t dict, const char *key) char * xbps_get_pkgidx_string(const char *repofile) { - char plist[PATH_MAX], *len, *result; + char plist[PATH_MAX], *dest, *result; + size_t len = 0; assert(repofile != NULL); /* Add full path to pkg-index.plist file */ - len = strncpy(plist, repofile, sizeof(plist) - 1); - if (sizeof(*len) >= sizeof(plist)) + dest = strncpy(plist, repofile, sizeof(plist) - 1); + if (sizeof(*dest) >= sizeof(plist)) return NULL; plist[sizeof(plist) - 1] = '\0'; strncat(plist, "/", sizeof(plist) - strlen(plist) - 1); strncat(plist, XBPS_PKGINDEX, sizeof(plist) - strlen(plist) - 1); - result = malloc(strlen(plist)); + len = strlen(plist); + result = malloc(len + 1); if (result == NULL) return NULL; - strncpy(result, plist, strlen(plist)); + strncpy(result, plist, len); return result; }