Fix string manipulation in x86_64 runtime 71/3971/1
authorVictor Hakoun <victor.hakoun@eurogiciel.fr>
Wed, 12 Jun 2013 14:52:49 +0000 (16:52 +0200)
committerVictor Hakoun <victor.hakoun@eurogiciel.fr>
Wed, 12 Jun 2013 14:52:49 +0000 (16:52 +0200)
vconf.c
vconftool.c

diff --git a/vconf.c b/vconf.c
index 2322c75acd49a80ef953870ee0ccff0e02e371b9..11bd47e35a75863049507311a353a871b5305425 100755 (executable)
--- a/vconf.c
+++ b/vconf.c
@@ -587,11 +587,11 @@ API int vconf_keylist_del(keylist_t *keylist, const char *keyname)
 
 int _vconf_get_key_prefix(const char *keyname, int *prefix)
 {
-       if (strncmp(keyname, BACKEND_DB_PREFIX, sizeof(BACKEND_DB_PREFIX) - 1) == 0) {
+       if (strncmp(keyname, BACKEND_DB_PREFIX, strlen(BACKEND_DB_PREFIX)) == 0) {
                *prefix = VCONF_BACKEND_DB;
-       } else if (0 == strncmp(keyname, BACKEND_FILE_PREFIX, sizeof(BACKEND_FILE_PREFIX) - 1)) {
+       } else if (0 == strncmp(keyname, BACKEND_FILE_PREFIX, strlen(BACKEND_FILE_PREFIX))) {
                *prefix = VCONF_BACKEND_FILE;
-       } else if (0 == strncmp(keyname, BACKEND_MEMORY_PREFIX, sizeof(BACKEND_MEMORY_PREFIX) - 1)) {
+       } else if (0 == strncmp(keyname, BACKEND_MEMORY_PREFIX, strlen(BACKEND_MEMORY_PREFIX))) {
                *prefix = VCONF_BACKEND_MEMORY;
        } else {
                ERR("Invalid argument: wrong prefix of key(%s)", keyname);
@@ -604,11 +604,11 @@ int _vconf_get_key_prefix(const char *keyname, int *prefix)
 
 int _vconf_get_key_path(const char *keyname, char *path)
 {
-       if (strncmp(keyname, BACKEND_DB_PREFIX, sizeof(BACKEND_DB_PREFIX) - 1) == 0) {
+       if (strncmp(keyname, BACKEND_DB_PREFIX, strlen(BACKEND_DB_PREFIX)) == 0) {
                snprintf(path, VCONF_KEY_PATH_LEN, "%s%s", BACKEND_SYSTEM_DIR, keyname);
-       } else if (0 == strncmp(keyname, BACKEND_FILE_PREFIX, sizeof(BACKEND_FILE_PREFIX) - 1)) {
+       } else if (0 == strncmp(keyname, BACKEND_FILE_PREFIX, strlen(BACKEND_FILE_PREFIX))) {
                snprintf(path, VCONF_KEY_PATH_LEN, "%s%s", BACKEND_SYSTEM_DIR, keyname);
-       } else if (0 == strncmp(keyname, BACKEND_MEMORY_PREFIX, sizeof(BACKEND_MEMORY_PREFIX) - 1)) {
+       } else if (0 == strncmp(keyname, BACKEND_MEMORY_PREFIX, strlen(BACKEND_MEMORY_PREFIX))) {
                snprintf(path, VCONF_KEY_PATH_LEN, "%s%s", BACKEND_MEMORY_DIR, keyname);
        } else {
                ERR("Invalid argument: wrong prefix of key(%s)", keyname);
index a6fd9675b8b6096e2358140d040dfddac6f6a3ca..82e7ad7f28bf3c31ec0d5f444a284f5d6bd7dd27 100755 (executable)
@@ -347,17 +347,17 @@ static int copy_memory_key(char *pszKey, char *pszOrigin)
 static int make_file_path(char *pszKey, char *pszBuf)
 {
        if (0 ==
-           strncmp(pszKey, BACKEND_DB_PREFIX, sizeof(BACKEND_DB_PREFIX) - 1)) {
+           strncmp(pszKey, BACKEND_DB_PREFIX, strlen(BACKEND_DB_PREFIX))) {
                snprintf(pszBuf, BUFSIZE, "%s/%s", DB_PREFIX, pszKey);
                return 0;
        } else if (0 ==
                   strncmp(pszKey, BACKEND_FILE_PREFIX,
-                          sizeof(BACKEND_FILE_PREFIX) - 1)) {
+                          strlen(BACKEND_FILE_PREFIX))) {
                snprintf(pszBuf, BUFSIZE, "%s/%s", FILE_PREFIX, pszKey);
                return 0;
        } else if (0 ==
                   strncmp(pszKey, BACKEND_MEMORY_PREFIX,
-                          sizeof(BACKEND_MEMORY_PREFIX) - 1)) {
+                          strlen(BACKEND_MEMORY_PREFIX))) {
                snprintf(pszBuf, BUFSIZE, "%s/%s", MEMORY_PREFIX, pszKey);
                return 0;
        }