From 14c5c46940c34326b8ea568deb738044e90a8602 Mon Sep 17 00:00:00 2001
From: Petter Reinholdtsen <pere@debian.org>
Date: Fri, 7 Mar 2025 17:51:32 +0100
Subject: [PATCH] Improve encoder example to reject audio without any channels.

This avoid a crash on bogus input, just exit with a message instead.

Fixes #2305
---
 examples/encoder_example.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/examples/encoder_example.c b/examples/encoder_example.c
index 8d244dab..7aca31b2 100644
--- a/examples/encoder_example.c
+++ b/examples/encoder_example.c
@@ -33,6 +33,7 @@
 #endif
 /*#define OC_COLLECT_METRICS*/
 
+#include <assert.h>
 #include <stdio.h>
 #if !defined(_WIN32)
 #include <getopt.h>
@@ -775,6 +776,10 @@ static void id_file(char *f){
 
           audio=test;
           audio_ch=buffer[6]+(buffer[7]<<8);
+          if (0 >= audio_ch) {
+            fprintf(stderr,"Can only read WAV files with non-zero audio channels for now.\n");
+            exit(1);
+          }
           audio_hz=buffer[8]+(buffer[9]<<8)+
             (buffer[10]<<16)+(buffer[11]<<24);
 
-- 
GitLab