Let $[a, b]$ be a closed bounded interval, $f : [a, b] \to \mathbb{R}$ be bounded, and $g : [a,b] \to \mathbb{R}$ be continuous with $g(a) = g(b) = 0$. Let $f_n$ be a uniformly bounded sequence of functions on $[a,b]$. Prove that if $f_n \to f$ uniformly on all closed intervals $[c,d] \subset (a,b)$, then $f_ng \to fg$ uniformly on $[a,b]$.
So I feel that since $g(a) = g(b) = 0$, that we know $f_ng = fg = 0$ at both $a$ and $b$, so that solves those.
Then, that leaves what happens in $(a,b)$. Well, that leaves $|f_ng - fg| = |f_n-f||g|$, and since $g$ is continuous, I think that might be enough to satisfy the proof, but I'm not too sure and I'm stuck.
You're on the right track but need to use a little more rigour. Fix $\epsilon>0$. We want to show that there is $N\in\mathbb{N}$ such that for all $n>N$, $|f_ng-fg|<\epsilon$ independent of $x$. Since $(f_n)$ is uniformly bounded, there exists $M>0$ such that $|f_n-f|\le M$ uniformly. Since $g(a)=g(b)=0$ and $g$ is continuous, we can take $c>a$ and $d<b$ such that $|g(x)|<\frac\epsilon{M}$ for $x\in[a,c]\cup[d,b]$. Now we use your idea: since $f_n\to f$ uniformly on $[c,d]$ and $g$ is continuous and hence bounded on $[c,d]$, there exists $N\in\mathbb{N}$ such that $|f_ng-fg|<\epsilon$ uniformly on $[c,d]$ for all $n>N$. By our construction, for all $n>N$ we have $|f_ng-fg|<\epsilon$, completing the proof.