浏览代码

modules_k/usrloc If path is Null, prevent memcpy on it in get_all_ucontact(mode DB_ONLY)

Marius Zbihlei 14 年之前
父节点
当前提交
5b2881b694
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      modules_k/usrloc/dlist.c

+ 5 - 2
modules_k/usrloc/dlist.c

@@ -223,8 +223,11 @@ static inline int get_all_db_ucontacts(void *buf, int len, unsigned int flags,
 			/* write path */
 			/* write path */
 			memcpy(cp, &p1_len, sizeof(p1_len));
 			memcpy(cp, &p1_len, sizeof(p1_len));
 			cp = (char*)cp + sizeof(p1_len);
 			cp = (char*)cp + sizeof(p1_len);
-			memcpy(cp, p1, p1_len);
-			cp = (char*)cp + p1_len;
+			/* copy path only if exist */
+			if(p1_len){
+				memcpy(cp, p1, p1_len);
+				cp = (char*)cp + p1_len;
+			}
 
 
 			len -= needed;
 			len -= needed;
 		} /* row cycle */
 		} /* row cycle */