diff --git a/src/xpdev/dirwrap.c b/src/xpdev/dirwrap.c
index 5cdb57222147ec2cf25fb2d17a3dbe043b430b58..b4261a5c1f1c88c6ffe83a1b5c20acddfe39a8a3 100644
--- a/src/xpdev/dirwrap.c
+++ b/src/xpdev/dirwrap.c
@@ -1008,7 +1008,8 @@ char * _fullpath(char *target, const char *path, size_t size)  {
 	bool	target_alloced=false;
 
 	if(target==NULL)  {
-		if((target=malloc(MAX_PATH+1))==NULL) {
+		size = MAX_PATH + 1;
+		if((target=malloc(size))==NULL) {
 			return(NULL);
 		}
 		target_alloced=true;