diff --git a/ffprobe.c b/ffprobe.c
index d86ff0bae0cce5487e666e8b159a9af7fa715dca..aa2b344be2d704b70ed9108427f7eb9f5415f39b 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -508,7 +508,7 @@ static const char *c_escape_str(AVBPrint *dst, const char *src, const char sep,
     const char *p;
 
     for (p = src; *p; p++) {
-        switch (*src) {
+        switch (*p) {
         case '\b': av_bprintf(dst, "%s", "\\b");  break;
         case '\f': av_bprintf(dst, "%s", "\\f");  break;
         case '\n': av_bprintf(dst, "%s", "\\n");  break;