Package: yafc
Version: 1.1.1.dfsg.1-4
Severity: normal
Tags: patch

--- Please enter the report below this line. ---

Hi,

Since a few months I've noticed that yafc uploads files with a wrong
name. For example a file named 'IMG_0301.JPG' will be renamed as
'IMG_0001.JPG'.
This is due to a wrong usage of the strcpy function. strcpy cannot be
used with source and destination overlapping. With optimized
implementations this might led to inconsistencies.

Please find a patched attached.

Regards,

--
Lionel Landwerlin

--- System information. ---
Architecture: amd64
Kernel:       Linux 2.6.32-4-amd64

Debian Release: squeeze/sid
  500 unstable        ftp.fr.debian.org 
    1 experimental    ftp.fr.debian.org 

--- Package information. ---
Depends                    (Version) | Installed
====================================-+-====================
libc6                     (>= 2.7-1) | 2.11.2-6
libncurses5      (>= 5.6+20071006-3) | 5.7+20100313-4
libreadline5                (>= 5.2) | 5.2-7


Package's Recommends field is empty.

Package's Suggests field is empty.




>From da8487d7794b0239e12121e70c45628a08c35f32 Mon Sep 17 00:00:00 2001
From: Lionel Landwerlin <llandwer...@gmail.com>
Date: Sun, 21 Nov 2010 04:33:44 +0100
Subject: [PATCH] strpull: fix wrong usage of strcpy

strcpy cannot be used with source and destination overlapping, with
optimized implementations this might led to inconsistencies.

Signed-off-by: Lionel Landwerlin <llandwer...@gmail.com>
---
 src/libmhe/strq.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/libmhe/strq.c b/src/libmhe/strq.c
index 00b51c7..f303d84 100644
--- a/src/libmhe/strq.c
+++ b/src/libmhe/strq.c
@@ -96,9 +96,11 @@ void strpush(char *s, int n)
 
 void strpull(char *s, int n)
 {
-	if(n > strlen(s))
+        int l = strlen(s);
+        
+	if(n > l)
 		n = strlen(s);
-	strcpy(s, s+n);
+        memmove(s, s+n, l-n+1);
 }
 
 /* returns number of C in STR */
-- 
1.7.2.3

Reply via email to